1. 程式人生 > >HTTP響應首部欄位詳解

HTTP響應首部欄位詳解

響應首部欄位是由伺服器向客戶端返回響應報文中使用的欄位,用於補充響應的附加資訊、伺服器資訊以及客戶端的附加要求等資訊。

  1. Accept-Ranges

        該首部欄位用於告知客戶端伺服器是否能夠處理範圍請求,以指定獲取伺服器端某個部分的資源。

        當伺服器可以處理範圍請求時,指定為bytes,反之則指定為none。

Accept-Ranges
  1. Age

        該首部欄位會告知客戶端,源伺服器在多久前建立了響應,欄位值的單位為秒。

        若建立該響應的伺服器是快取伺服器,則Age值指的是快取後的響應再次發起認證到認證完成的時間值。代理建立響應時必須加上該欄位。

  1. ETag

        該首部欄位可以告知客戶端資源的實體標識。它是一種可以將資源以字串形式做唯一性標識的方式。伺服器會為每份資源分配對應的ETag。

        當資源發生更新時,該欄位值也需要更新。生成ETag值時,並沒有統一的演算法規則,而是僅僅由伺服器來分配。

ETag

        資源被快取時,就會分配唯一性標識。

        ETag有強弱值之分:

                強ETag值無論實體發生多麼細微的變化都會改變其值。

                弱ETag值只用於提示資源是否相等。只有資源發生了根本的改變,產生差異時才會改變ETag值。這時,會在欄位值最開始處附加W/。

  1. Location

        使用該首部欄位可以將響應接收方引導至某個與請求URI位置不同的資源。

        基本上,該欄位會配合3XX:Redirection的響應,提供重定向的URI。

        幾乎所有的瀏覽器在接收到包含該首部欄位的響應後,都會強制性地嘗試對已提示的重定向資源進行訪問。

  1. Proxy-Authenticate

        該首部欄位會把代理伺服器所需要的認證資訊傳送給客戶端。

Proxy-Authenticate
  1. Retry-After

        該首部欄位告知客戶端應該在多久之後再次傳送請求。主要用於配合狀態碼503 Service Unavailable 響應,或者3XX Redirect響應一起使用。

        欄位值可以指定為具體的日期,也可以是建立響應後的秒數。

  1. Server

        該首部欄位用於告知客戶端當前伺服器上安裝的HTTP伺服器應用程式的資訊。不僅僅會標出伺服器上的軟體應用名稱,還可能包括版本號和安裝時啟用的可選項。

Server
  1. Vary

        該首部欄位可對快取進行控制。源伺服器會向代理伺服器傳達關於本地快取使用方法的命令。

        當代理伺服器接收到源伺服器返回的包含該欄位的響應後,如果要再進行快取,只能對請求中包含相同該欄位指定的請求返回快取。即使對相同資源發起請求,但是由於該欄位指定的值不同,也必須從源伺服器重新獲取資源。

  1. WWW-Authenticate

        該首部欄位用於HTTP訪問認證。它會告知客戶端適用於訪問請求URI所指定資源的認證方案(Basic還是Digest)和帶引數提示的質詢。狀態碼401Unauthorized響應中,肯定要使用該首部欄位。

WWW-Authenticate