第三章 HTTP报文内的HTTP信息

HTTP通信过程包括从客户端发往服务器端的请求及从服务器端返回客户端的响应。

用于HTTP协议交互的信息被称为HTTP报文。请求端(客户端)的HTTP报文叫请求报文,响应端(服务器端)的叫做响应报文。

HTTP报文大致可分为报文首部和报文主体两块,两者由最初出现的空行来划分,通常并不一定要有报文主体。

编码提升传输速率

HTTP在传输数据时可以按照数据原貌直接传输,但也可以在传输过程中通过编码提升传输速率。在传输时编码,能有效地处理大量的访问请求。

报文主体和实体主体:

报文:HTTP通信中的基本单位; 实体:作为请求或响应的有效载荷数据被传输,其内容由实体首部和实体主体组成。

HTTP报文的主体用于传输请求或者响应实体的主体。通常报文主体就等于实体主体。只有当传输中进行编码操作时,实体主体的内容发生变化,才导致它和报文主体产生差异。

压缩传输的内容编码

内容编码指明应用在石头内容上的编码格式,并保持实体信息原样压缩,内容编码后的实体由客户端接收并负责解码。

常用的内容编码有以下几种:

  • gzip(GUN zip)
  • compress(UNIX系统的标准压缩)
  • deflate(zlib)
  • identify(不进行编码)
分割发送的分块传输编码

请求的编码实体资源尚未全部传输完成之前,浏览器无法显示请求页面。在传输大容量数据时,通过吧数据分割成多块,能够让浏览器逐步显示页面。这种吧实体主体分块的功能称为分块传输编码

发送多种数据的多部分对象集合

获取部分内容的范围请求

内容协商返回最合适的内容

内容协商制是指客户端和服务器端就响应的资源进行交涉,然后提供给客户最为合适的资源,内容协商会以响应资源的语言、字符集、编码方式等作为判断 基准。

内容协商技术的三种类型:
  • 服务器驱动协商
  • 客户端驱动协商
  • 透明协商(上面两种的结合)