简单的HTTP协议
持久连接
在HTTP/1.1中,所有的连接默认都是持久连接。
管线化
持久连接使得多数请求以管线化(pipelining)方式发送成为可能。以前发送请求后需要等待并受到响应,才能发送下一个请求。
Cookie
响应报文中,Set-Cookie首部字段信息,通知客户端保存Cookie。
HTTP报文
请求报文
请求行+首部字段
响应报文
状态行+首部字段+报文主体
获取部分内容的范围请求
获取大图片,网络中断,如何重新获取而不用从头开始? 就是指定范围发送的请求-范围请求(Rang Request)
状态码
1XX
信息性状态码, 接受的请求正在处理
2XX
成功状态码, 请求正常处理完毕
- 200
- 201 (已创建) 请求成功并且服务器创建了新的资源。
- 204 No Content表示服务器接受的请求已成功处理,一般只需要从客户端往服务器发送请求,而客户端不需要发送新信息内容。
- 206 Partial Content
3XX
重定向状态码,需要进行附加操作以完成请求
- 301 Moved Permanently 请求的网页已永久移动到新位置。 服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。
- 302 Found
- 304 (未修改) 自从上次请求后,请求的网页未修改过。 服务器返回此响应时,不会返回网页内容。
4XX
客户端错误状态码,服务器无法处理请求
- 400 (错误请求) 服务器不理解请求的语法。
- 401 (未授权) 请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。
- 403 (禁止) 服务器拒绝请求。
- 404 (未找到) 服务器找不到请求的网页
- 405 Method Not Allowed
5XX
服务器错误状态码,服务器处理请求出错
- 500 (服务器内部错误) 服务器遇到错误,无法完成请求。
- 503 (服务不可用) 服务器目前无法使用(由于超载或停机维护)。 通常,这只是暂时状态。
RFC协议
HTTPS
相互交换密钥的公开密钥加密技术
一对非对称的密钥,一把叫做私有密钥,一把叫做公开密钥
HTTPS采用混合加密机制
工具
抓包
- fiddler
- wireshark