17 - 03 - 20 圖解HTTP(24)

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  字節大小的分塊數據。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章