报文、状态码和代理
1. HTTP报文
1.1 报文格式
HTTP报文大致可分为报文首部和报文主体两个部分,报文主体并不一定要有。
首部内容由以下数据组成:
- 请求行:请求方法、请求URI、HTTP版本
- 状态行:标明响应结果的的状态码,原因短语和HTTP版本。
- 首部字段:一般是通用首部、请求首部、响应首部和实体首部。
- 其他
1.2 报文主体和实体主体的差异
- 报文
是HTTP通信中的基本单位,由8位组字节流组成,通过HTTP通信传输。- 实体
作为请求或相应的有效何在数据(补充项)被传输,其内容由实体首部和实体主体组成。
1.3 编 码
HTTP在传输数据时可以直接传输,也可以通过编码提升传输速率,这个编码类似于压缩,就是咱们常用的ZIP。
内容编码指明应用在实体内容上的编码格式,并保持实体信息原样压缩。内容编码后的实体由客户端接收并负责解码。
常用的内容编码的格式有:gzip、compress(UNIX 的标准压缩)、deflate、identity(不编码)。
1.4 分块传输编码
在 HTTP 通信过程中,请求的编码实体资源尚未全部传输完成之前, 浏览器无法显示请求页面。
在传输大容量数据时,通过把数据分割成多块,能够让浏览器逐步显示页面。 这种把实体主体分块的功能称为分块传输编码。(图片等二进制利用 MIME 描述标记数据类型)
1.5 获取部分内容的范围请求
以前下载过程中遇到网络中断的话,那就必须重头开始,为了解决这个问题,需要一个恢复机制。要实现这个功能需要指定下载的实体范围,指定范围发送的请求叫做