您的位置:首页 > 理论基础 > 计算机网络

17 - 03 - 20 图解HTTP(24)

2017-01-12 13:56 302 查看
Data

首部字段Date表明创建HTTP报文的日期和时间。

HTTP/1.1  协议使用在 RFC1123  中规定的日期时间的格式,

ex:  Date: Tue, 03 Jul 2012 04:40:59 GMT

 

Pragma  是 HTTP/1.1  之前版本的历史遗留字段,仅作为与 HTTP/1.0  的向后兼容而定义。规范定义的形式唯一,如下所示。

ex:  Pragma: no-cache 

该首部字段属于通用首部字段,但只用在客户端发送的请求中。客户端会要求所有的中间服务器不返回缓存的资源。

 

所有的中间服务器如果都能以 HTTP/1.1  为基准,那直接采用 Cache-Control: no-cache  指定缓存的处理方式是最为理想的。但要整体掌握全部中间服务器使用的 HTTP  协议版本却是不现实的。因此,发送的请求会同时含有下面两个首部字段。

Cache-Control: no-cache

Pragma: no-cache

Trailer :

 

首部字段 Trailer  会事先说明在报文主体后记录了哪些首部字段。该首部字段可应用在 HTTP/1.1  版本分块传输编码时。

ex  :

HTTP/1.1 200 OK

Date: Tue, 03 Jul 2012 04:40:56 GMT

Content-Type: text/html

...

Transfer-Encoding: chunked

Trailer: Expires

...( 报文主体 )...

0

Expires: Tue, 28 Sep 2004 23:59:59 GMT

注:以上用例中,指定首部字段 Trailer  的值为 Expires ,在报文主体之后(分块长度 0  之后)出现了首部字段Expires 。

Transfer-Encoding

首部字段 Transfer-Encoding  规定了传输报文主体时采用的编码方式。HTTP/1.1的传输编码方式仅对分块传输编码有效。

 

↑  分块传输编码

 

ex:

HTTP/1.1 200 OK

Date: Tue, 03 Jul 2012 04:40:56 GMT

Cache-Control: public, max-age=604800

Content-Type: text/javascript; charset=utf-8

Expires: Tue, 10 Jul 2012 04:40:56 GMT

X-Frame-Options: DENY

X-XSS-Protection: 1; mode=block

Content-Encoding: gzip

Transfer-Encoding: chunked

Connection: keep-alive

cf0 ←16 进制 (10 进制为 3312)

...3312 字节分块数据 ...

392 ←16 进制 (10 进制为 914)

...914 字节分块数据 ...

0

注:以上用例中,正如在首部字段 Transfer-Encoding  中指定的那样,有效使用分块传输编码,且分别被分成

3312  字节和 914  字节大小的分块数据。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: