DNS
- DNS是一个分布式数据库。用于映射域名和IP地址,使人方便访问网址。有三个组成部分:域名空间和资源记录+域名服务器+解析器
- DNS是基于TCP和UDO协议的:用户到服务器采用UDP协议;DNS服务器通信采用TCP协议;
域名结构
域名层次 | 例子 |
---|
顶级域名 | com ; net ; gov ; org ; edu … | 二级域名 | cctv; baidu; 360; google … | 三级域名 | www. b … | 四级域名 | www(三级域名不为www时) |
域名级别低的写左边,级别高的写右边。 顶级域名可以分为:国家顶级域名;通用顶级域名;反向域名
域名服务器
域名服务器 | 概念 |
---|
根域名服务器 | 管理互联网的主目录,本地域名服务器解析不了就会求助根域名服务器 | 顶级域名服务器 | 负责管理所有的二级域名 | 权限域名服务器 | 负责管理一个区的域名解析工作 | 本地域名服务器 | 主机发送DNS请求后,首先会发送给本地域名服务器 |
域名解析过程
分类: 递归查询:主机向本地域名服务器 迭代查询:本地域名服务器向根域名服务器
HTTP协议
http HyperText Transfer Protocol:超文本传输协议;是一种无状态的,无连接的,基于请求和响应的客户端/服务端模型的通信协议。 Q1:什么事无状态? A1:无状态是指两次通信之间没有任何关系,每一次都是新的连接,服务端不会记录前后的请求信息。 Q2:什么事无连接? A2:无连接是指每次连接只能处理一个请求,服务器处理完客户端请求并接受到其应答后,就会断开连接。
URL & URI
url:统一资源定位符; uri:同一资源标识符;
请求与响应
- 请求格式
- 响应格式
- 请求方法
方法名 | 描述 |
---|
GET | 请求 URL 指定的资源,请求参数放在url后边 | POST | 创建,修改,上传资源。将资源放在请求体中 | PUT | 修改资源,一般用POST代替 | OPTIONS | 列出可对资源实行的方法,在跨域中会用到 | HEAD | 类似于get请求,用于获取报文头部 | PATCH | 更新资源,但一般用于部分更新,如果资源不存在,则会创建资源 |
- 常用头部键
头部键 | 作用 |
---|
Accept | 说明接收类型 | Content-Length | 请求体/响应体长度 | Accept-Encoding | 告知对方能够接受的长度 | Content-Encoding | 编码格式 | Accept-language | 可接收的编码格式 | Content-Type | 请求体/响应体类型 eg: text/plain; appliacation/json | Authorization | 身份认证信息(请求头) | Date | 服务器日期(响应头) |
- 状态码
状态码 | 说明 |
---|
1** | 信息,服务器收到请求,需要请求者继续执行操作 | 2** | 成功,操作被成功接收并处理 | 3** | 重定向,需要进一步操作完成请求 | 4** | 客户端出错 | 5** | 服务器出错 |
常见状态码: 200 : ok 400 : Bad Request,请求报文中存在错误语法 401: Unauthorized,未通过身份认证 403: Forbidden,客户端被服务器拒绝访问了 404: 无法找到请求资源 500: 服务端在执行请求时发送了错误 502: 服务器暂时处于超负载或正在进行停机维护
HTTPS
https:超文本传输安全协议:在HTTP的基础上通过传输加密保证传输过程的安全性。 HTTPS = HTTP +SSL/TLS; HTTPS特点:1. 身份验证;2.内容加密; 3.保护数据的完整性 HTTPS对应的通信过程:
HTTP 与HTTPS的区别
- http是明文传输,不安全;而HTTPS是经过SSL加密的,安全性较高;
- HTTP的端口是80;HTTPS的端口号是443;
- HTTP协议运行在TCP之上,所有传输的内容都是明文,HTTPS运行在SSL/TLS之上,SSL/TLS运行在TCP之上,所有传输的内容都经过加密的。
HTTP 1.0 与HTTP 1.1 与 HTTP 2.0
http 1.0 vs http 1.1
- 长连接:http1.1 引入了长链接和请求的流水线处理。一个TCP上可以传送多个HTTP请求和响应。从而减少了建立和关闭连接的消耗和延迟。HTTP1.1默认开启Connection:keep-alive。
- Host头处理:http1.0认为每台服务器都绑定唯一的IP地址,所以服务器上只能方位一个Web站点;Host头的引入,可以通过hostname来指定要访问的web站点。
- 错误通知管理:http1.0 新增了24个状态响应码,409,401等
- 带宽优化及网络连接的使用(Range域):http1.0 并不支持断点续传功能,每一次请求某个对象的一部分数据,却只能得到该对象的全部数据。在http1.1 引入了Range域,它允许只请求某个资源的某个部分。
- 缓存处理:HTTP1.1增加了更多的缓存控制策略:Entity tag; If-Unmodified-Since;If-Match等。
http1.1 vs http 2.0
- 多路复用:http 2.0 引入了多路复用技术,做到用一个连接能够并发处理多个请求,且请求数量远远大于http1.1
- header压缩:引入了HPACK算法可以对header的数据进行压缩,减小传输数据的体积。
- 服务器推送:允许服务器未经请求主动向客户端发送资源。
- 格式:http2.0采用的是二进制格式而非文本格式。
|