一、请求报文和响应报文的结构
二、编码提升传输效率
HTTP在传输数据时可以按照数据原貌直接传输,但也可以在传输过程中通过编码提升传输速率。通过在传输时编码,能有效地处理大量的访问请求。但是,编码的操作需要计算机来完成,因此会消耗更多的CPU等资源。
(1) 报文主体和实体主体的区别
报文 HTTP通信中的基础单位,由8位字节流组成,通过HTTP通信传输
实体 作为请求或响应的有效载荷数据被传输,其内容由实体首部和实体主体组成。
HTTP报文的主体用于传输请求或响应的实体主体。
通常,报文主体等于实体主体. 只有当传输中进行编码操作时,实体主体的内容发生变化,才导 致它和报文主体产生差异
(2) 压缩传输的内容编码 Content-Encoding
gzip GNU zip编码
compress unix系统的标准压缩
HTTP压缩过程
1 浏览器发送HTTP request给Web服务器,request中由Accept-Encoding:gzip 告诉服务器,浏览器支持gzip压缩
2 Web服务器接到request后,生成原始的Response,其中有原始的Content-Type和Content-Length
3 Web服务器通过Gzip,来对Response进行编码,编码后header中有Content-Type和Content-Length,并且增加了Content-Encoding:gzip,然后把Response发送给浏览器
4 浏览器接到Response后,根据Content-Encoding:gzip来对Response进行解码.获取到原始response后,然后显示出网页.
(3) 分割发送给的分块传输编码 Transfer-Encoding
具体可以参考header部分