HTTP首部(二)

weixin_34249678發表於2015-12-17

Cache-Control擴充套件

cache-extension token

Cache-Control: private, community="UCI"

通過cache-extension標記(token),可以擴充套件Cache-Control首部欄位內多指令。

如上:Cache-Control首部欄位本身沒有community這個指令。藉助extension tokens實現了該指令的新增。如果快取伺服器不能理解community這個新指令,就會直接忽略。因此,extension tokens僅對能理解它的快取伺服器來說是有意義的。

Connection

Connection首部欄位具備如下兩個作用

  • 控制不再轉發給代理的首部欄位
  • 管理持久連結
691666-25413d8a8159fd03.jpg
控制不再轉發給代理的首部欄位

Connection:close

HTTP/1.1版本的預設連結都是持久連線,當服務端明確想斷開連線時,則指定Connection首部欄位的值為Close

Connection:Keep-Alive

HTTP/1.1之前的版本預設都是非持久連線,如果舊版本的HTTP協議上維持持續連線,則需要指定Connection首部的值為Keep-Alive.

691666-464cc2779758be1c.jpg
keep-alive

Date

首部欄位Date表明建立HTTP報文的日期和時間。

Date:Tue, 03 Jul 2012 04:40:59 GTM (HTTP/1.1)

Date:Tue, 03-Jul-12 04:40:59 GTM(HTTP/1.1之前)

Date:Tue Jul 03 04:40:59 2012

Pragma

Pragma是HTTP/1.1之前版本的歷史遺留欄位,僅作為與HTTP/1.0的向後相容而定義。

Pragma: no-cache

只能在客戶端傳送的請求中。客戶端要求所有的中間伺服器不返回快取的資源

Trailer

首部欄位Trailer會事先說明報文主體後記錄了那些首部欄位。該首部欄位可應用在HTTP/1.1版本分塊傳輸編碼時。

Transfer-Encoding

規定了傳輸報文主體時採用的編碼方式

Upgrade

用於檢測HTTP協議以及其他協議是否可使用更高版本的進行通訊。其數值可以用來指定一個完全不同的通訊協議

691666-6a51589c289483ff.jpg
upgrade

Via

為了追蹤客戶端與伺服器之間的請求和響應報文的傳輸路徑。可避免請求迴環發生。

691666-e567ee9216a40ce5.jpg
Via

Warning

告知使用者一些與快取相關的問題警告。

waring: [警告碼][警告的主機:埠號][“警告內容”](日期時間)

691666-3db9b87833e84066.jpg
警告碼

請求首部欄位

從客戶端往伺服器傳送請求報文所使用的欄位,用於補充請求的附加資訊,客戶端資訊,對響應內容相關的優先等級等內容。

Accept

通知代理能夠處理等媒體型別及媒體型別的相對優先順序。

若想要給顯示的媒體型別增加優先順序,則使用q=來額外表示權重值。預設權重為q=1.0, 權重值的範圍是0~1(可精度到小數點三位),且1為最大。當伺服器提供多種內容時,將會返回權重最高的媒體型別。

Accept-Charset

用來通知伺服器使用者代理支援的字符集以及字符集的相對優先順序。也可新增權重

如:Accept-Charset:iso-8859-5, unicode-1-1;q=0.8

Accept-Encodingx

告知伺服器代理支援的內容編碼以及編碼的優先順序順序。

Accept-Language

告知伺服器使用者代理能夠理解的自然語言。以及自然語言的優先順序

Authorization

告知伺服器,使用者代理的認證資訊。

Expect

客戶端告知伺服器期望出現某種特定行為。

From

告知使用者伺服器使用使用者代理的電子郵件地址。

Host

告知伺服器,請求的資源所處在網際網路主機名和埠號。

If-Match

形如If-xxx這種樣式的請求首部欄位都可以成為條件請求。伺服器接收到附帶條件的請求後,只要判斷指定條件為真時,才會執行請求。

If-Match屬附帶條件之一,他會告知伺服器匹配資源所標記的實體標記值。這時的伺服器無法使用弱Etag值。使用*會忽略ETag

691666-efd261e76c7ded4d.jpg
If-xxx

If-Modified-Since

如下圖:

691666-a8ebad30e8fa9667.jpg
If-Modified-Since

If-None-Match

如下圖:

691666-6de6c4b8ee596321.jpg
If-None-Match

If-Range

如下圖

691666-4d96d776c1815065.jpg
If-Range

不使用If-Range多一次請求

691666-fd815708e9631b92.jpg
No-If-Range

If-Unmidified-Since

Max-Forwards

Proxy-Authorization

Range

Referer

TE

User-Agent

相關文章