(chap6 Http首部) 通用首部字段 DatePragma
1. Date
首部字段Date表明創建HTTP報文的日期和時間。
eg. HTTP/1.1協議使用在RFC1123中規定的格式:
Date: Tue, 03 Jul201204:40:59GMT之前的HTTP協議版本中使用RFC850中定義的格式:
Date: Tue, 03-Jul-1204:40:59 GMT除此之外,還有一種格式與C標準庫內的 asctime()函數的輸出一致:
Date:Tue Jul 0304:40:5920122. Pragma
Pragma是 HTTP/1.1之前版本的歷史遺留字段,僅作為與HTTP/1.0的向后兼容而定義。
格式:Pragma: no-cache該首部字段屬于通用首部字段,但只用在客戶端發送的請求中??蛻舳藭笏械闹虚g服務器不返回緩存的資源。
3. Trailer
首部字段Trailer會事先說明在報文主體后記錄了哪些首部字段。該首部字段可應用在 HTTP/1.1版本分塊傳輸編碼時。
eg.
HTTP/1.1 200 oK Date: Tue,03 Jul 201204:40:56GMT Content-Type: text/html ... Transfer-Encoding: chunked Trailer: Bxpires ···(報文主體)··· 0 Expires: Tue, 28 sep 2004 23t59:59 GMrr4. Transfer-Encoding
首部字段Transfer-Encoding規定了傳輸報文主體時采用的編碼方式。
HTTP/1.1的傳輸編碼方式僅對分塊傳輸編碼有效。
eg. 有效使用分塊傳輸編碼,分別被分成3312字節和914字節大小的分塊數據。
HTTP/1.1 200 OK Date: Tue,03 Jul 201204:40:56 GMTcache-Control: public, max-age=604800 Content-Type: text/javascript ; charset=utf-8Expires: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-alivecf0 <- 16進制(10進制為3312)···3312字節分塊數據···392.16進制(10進制為914)···914字節分塊數據···05. Upgrade
首部字段Upgrade用于檢測HTTP協議及其他協議是否可使用更高的版本進行通信,其參數值可以用來指定一個完全不同的通信協議。
上圖用例中,首部字段Upgrade指定的值為TLS/1.0。請注意此處兩個字段首部字段的對應關系,Connection的值被指定為Upgrade。Upgrade首部字段產生作用的 Upgrade對象僅限于客戶端和鄰接服務器之間。因此,使用首部字段Upgrade時,還需要額外指定Connection:Upgrade。
對于附有首部字段Upgrade的請求,服務器可用101 SwitchingProtocols 狀態碼作為響應返回。
6. via
使用首部字段Via是為了追蹤客戶端與服務器之間的請求和響應報文的傳輸路徑。
報文經過代理或網關時,會先在首部字段 Via中附加該服務器的信息,然后再進行轉發。這個做法和traceroute及電子郵件的Received首部的工作機制很類似。
首部字段Via不僅用于追蹤報文的轉發,還可避免請求回環的發生。所以必須在經過代理時附加該首部字段內容。
eg. 在經過代理服務器A時,Via首部附加了“1.0 gw.hackr.jp (Squid/3.1)”這樣的字符串值。行頭的1.0是指接收請求的服務器上應用的HTTP協議版本。接下來經過代理服務器B時亦是如此,在 Via首部附加服務器信息,也可增加1個新的 Via首部寫入服務器信息。
Via首部是為了追蹤傳輸路徑,所以經常會和TRACE方法一起使用。比如,代理服務器接收到由TRACE方法發送過來的請求(其中Max-Forwards: 0 )時,代理服務器就不能再轉發該請求了。這種情況下,代理服務器會將自身的信息附加到Via首部后,返回該請求的響應。
7. Warning
HTTP/1.1的 Warning首部是從HTTP/1.0的響應首部(Retry-After )演變過來的。該首部通常會告知用戶一些與緩存相關的問題的警告。
Warning: 113 gw . hackr.jp:8080"Heuristic expiration"Tue,03 Jul=2012 05:09:44GMT
總結
以上是生活随笔為你收集整理的(chap6 Http首部) 通用首部字段 DatePragma的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (chap6 Http首部) 通用
- 下一篇: (chap6 Http首部) 请求