图解HTTP(3)

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

1. HTTP报文

HTTP报文:用于HTTP协议交互的信息

请求报文:请求端的HTTP报文

响应报文:服务器端的HTTP报文

HTTP报文组成:

  1. 报文首部:服务器或客户端需处理的请求或响应的内容及属性

    1. 空行:CR+LF
    2. 报文主体:应被发送的数据

2.请求报文及响应报文的结构

图解HTTP(3)

请求行:包括用于请求的方法,请求URI和HTTP版本

状态行:包含表明响应结果的状态码,原因短语和HTTP版本

首部字段:包含表示请求和响应的各种条件和属性的各类首部

其他:Cookies

3. 编码提升传输速率

报文:HTTP通信中的基本单位

实体:作为请求或响应的有效载荷数据被传输,其内容由实体首部和实体主体组成。

HTTP协议中的内容编码(类似于压缩文件)

分块传输编码:在传输大容量数据时,通过把数据分割成多块,能够让浏览器逐步显示页面。

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

图解HTTP(3)

在HTTP报文中使用多部分对象集合时,需要在首部字段里加上Content-type

5. 获取部分内容的范围请求

实现恢复的机制:从之前下载终端处恢复下载。

图解HTTP(3)

Range表示的是恢复的字节范围。

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

内容协商机制:通过客户端和服务器端响应的资源内容进行交涉,然后提供给客户端最为合适的资源。

内容协商技术3种类型:1.服务器驱动协商;2.客户端驱动协商;3.透明协商