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 字节大小的分块数据。
首部字段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 字节大小的分块数据。
相关文章推荐
- 17 - 03 - 16 图解HTTP(20)
- 17 - 03 - 28 图解HTTP(32)
- 17 - 03 - 18 图解HTTP(22)
- 17 - 03 - 12 图解HTTP(16)
- 17 - 03 - 19 图解HTTP(23)
- 17 - 04 - 03 图解HTTP(38)
- 17 - 03 - 23 图解HTTP(27)
- 17 - 02 - 29 图解HTTP(03)
- 17 - 03 - 06 图解HTTP(10)
- 17 - 03 - 30 图解HTTP(34)
- 17 - 03 - 04 图解HTTP(08)
- 17 - 03 - 17 图解HTTP(21)
- 17 - 03 - 03 图解HTTP(07)
- 17 - 03 - 07 图解HTTP(11)
- 17 - 03 - 22 图解HTTP(26)
- 17 - 03 - 25 图解HTTP(29)
- 17 - 03 - 01 图解HTTP(05)
- 17 - 03 - 14 图解HTTP(18)
- 17 - 03 - 26 图解HTTP(30)
- 17 - 03 - 31 图解HTTP(35)