第三章 -- HTTP报文内的HTTP信息

 

请求和响应的运作

报文

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

 分块:分为报文首部和报文主体两个板块,两者最初出现的空行(CR+LF)来划分。通常,报文并不一定要有报文主体。

第三章 -- HTTP报文内的HTTP信息

    


请求报文和响应报文的结构

请求报文:

第三章 -- HTTP报文内的HTTP信息

第三章 -- HTTP报文内的HTTP信息

 

响应报文:

第三章 -- HTTP报文内的HTTP信息

 

第三章 -- HTTP报文内的HTTP信息


 

 编码提升传输效率

报文主体和实体主体的差别

            报文(message):HTTP通信中的基本单位,由8位字节流组成,通过HTTP传输。

            实体(entity):作为请求或响应的有效荷载数据(补充项)被传输,内容由实体首部和实体主体构成。

通常报文主体就是实体主体,只有当传输中进行编码操作时(CONNECT?),实体主体的内容发生变化,才导致它和报文主体产生差异。

压缩传输的内容编码

         向待发送邮件内增加附件时候,为了使邮件变小,我们会先压缩文件再添加附件发送。而HTTP协议中有种被称为内容编码的功能也能进行类似的操作。

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

第三章 -- HTTP报文内的HTTP信息

 

编码内容:gzip(GUN zip)   compress(unix) deflate(zlib)  identity(不进行编码) 

分割发送的分块传输编码(chuned transfer coding)

           在HTTP通信过程中,请求的编码实体资源未全部传输完成前,浏览器无法显示请求页面,则在传输大容量 数据时候,通过数据分割成多个块,可以让浏览器逐步显示。

第三章 -- HTTP报文内的HTTP信息


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

MIME(multipurpose internet main extensions:多用途因特网邮件扩展)

       允许邮件处理文本,视频,图片等多喝不同类型的数据,MIME扩展中会使用一种称为多部分对象合集(multipart)的方法来容纳不同类型的数据。

多部分集合包含对象如下:

      multipart/form-data     在web表单文件上传时使用

第三章 -- HTTP报文内的HTTP信息

      multipart/byteranges   状态码206(partical content 部分内容)响应报文包含了多个范围的内容时使用

第三章 -- HTTP报文内的HTTP信息

第三章 -- HTTP报文内的HTTP信息

表 6-1:通用首部字段

第三章 -- HTTP报文内的HTTP信息

表 6-2:请求首部字段

首部字段名                  说明
Accept                         用户代理可处理的媒体类型
Accept-Charset            优先的字符集
Accept-Encoding         优先的内容编码
Accept-Language        优先的语言(自然语言)
Authorization               Web认证信息
Expect                          期待服务器的特定行为
From                             用户的电子邮箱地址
Host                              请求资源所在服务器
If-Match                        比较实体标记(ETag)
If-Modified-Since          比较资源的更新时间
If-None-Match              比较实体标记(与 If-Match 相反)
If-Range                        资源未更新时发送实体 Byte 的范围请求
If-Unmodified-Since     比较资源的更新时间(与If-Modified-Since相反)
Max-Forwards               最大传输逐跳数
Proxy-Authorization     代理服务器要求客户端的认证信息
Range                           实体的字节范围请求
Referer                          对请求中 URI 的原始获取方
TE                                  传输编码的优先级
User-Agent                   HTTP 客户端程序的信息

表 6-3:响应首部字段 

首部字段名                     说明
Accept-Ranges             是否接受字节范围请求
Age                               推算资源创建经过时间
ETag                              资源的匹配信息
Location                        令客户端重定向至指定URI
Proxy-Authenticate      代理服务器对客户端的认证信息
Retry-After                   对再次发起请求的时机要求
Server HTTP                  服务器的安装信息
Vary                              代理服务器缓存的管理信息
WWW-Authenticate     服务器对客户端的认证信息

表 6-4:实体首部字段

首部字段名                    说明
Allow                            资源可支持的HTTP方法
Content-Encoding       实体主体适用的编码方式
Content-Language      实体主体的自然语言
Content-Length           实体主体的大小(单位:字节)
Content-Location        替代对应资源的URI
Content-MD5              实体主体的报文摘要
Content-Range            实体主体的位置范围
Content-Type              实体主体的媒体类型
Expires                         实体主体过期的日期时间
Last-Modified              资源的最后修改日期时间