HTTP學習瞭解四
- 首部欄位解讀
- 表示是否能快取的指令
[public]指令: 當表明使用public指令的時候,表示其它使用者也可以利用快取
[private]指令: private指令表示響應只以特定的使用者作為物件
[no-cache]指令: 為了防止從快取中返回過期的資源,表示客戶端不會接收快取過的響應,伺服器中包含[no-cache]指令,那麼快取伺服器不能對資源
進行快取,源伺服器以後也將不再對快取伺服器請求中提出的資源有效進行確認,且禁止其對響應資源進行快取操作。
[no-store]指令: 控制可執行快取的物件的指令。當使用no-store指令時,暗示請求或響應中包含機密資訊,該指令規定快取不能在本地儲存請求或響
應的任一部分。
[s-maxage]指令: s-maxage指令只適用於供多位使用者使用的公共快取伺服器。
[max-age]指令: max-age數值代表資源儲存為快取的最長時間。當值為 0,代表快取伺服器通常需要將請求轉發給源伺服器。
[min-fresh]指令: 此指令要求快取伺服器返回至少還未過指定時間的快取資源。
[max-stale]指令: 可指示快取資源,即使過期也照常接受。
[only-if-cached]指令: 使用only-if-cached指令表示客戶端僅在快取伺服器本地快取目標資源情況下才會要求其返回。
該指令要求快取伺服器不重新載入響應,也不會再次確認資源有效性。
[must-revalidate]指令: 代理伺服器會向源伺服器再次驗證即將返回的響應快取目前是否仍然有效。
使用must-revalidate指令會忽略請求的max-stale指令。
[proxy-revalidate]指令: 該指令要求所有的快取伺服器在接收到客戶端帶有該指令的請求返回響應之前,必須再次驗證快取的有效性。
[no-transform]指令: 使用no-transform指令規定無論是在請求還時響應中,快取都不能改變實體主體的媒體型別,這樣做可防止快取或代理壓縮圖
片等類似操作。
-
Connection
控制不再轉發給代理的首部欄位,管理持久連線 -
Date
首部欄位表明建立HTTP報文的日期和時間 -
Transfer-Encoding
規定了傳輸報文主體時採用的編碼方式 -
Upgrade
用於檢測HTTP協議及其它協議是否可使用更高的版本通訊,其引數值可以用來指定一個完全不同的通訊協議。使用首部欄位Upgrade
時,還需
要額外指定Connection:Upgrade
-
Via
為了追蹤客戶端與伺服器之間的請求或響應報文的傳輸路徑。
請求首部欄位
Accept
該首部欄位可通知伺服器,使用者代理能夠處理的媒體型別以及媒體型別的相對優先順序。
-
文字檔案
text/html,text/plain,text/css,application/xhtml+xml,application/xml
-
圖片檔案
image/jpeg,image/gif,image/png
-
影片檔案
video/mpeg,video/quicktime
-
二進位制檔案
application/octet-stream,application/zip
-
給顯示媒體檔案增加權重(優先順序),使用
q=0-1
,預設的權重是q=1
-
Accept-Charset
用來通知伺服器使用者代理支援的字符集及字符集的相對優先順序 -
Accept-Encoding
告知伺服器使用者代理的內容編碼及內容編碼的優先順序順序(可一次性指定多種內容編碼) -
gzip
由檔案壓縮程式gzip生成的編碼格式 -
compress
由UNIX檔案壓縮程式compress生成的編碼格式 -
default
組合使用zlib
格式及由default壓縮演算法生成的編碼格式 -
identity
不執行壓縮或不會變化的預設編碼格式 -
Accept-Language
告知伺服器使用者代理能夠處理的自然語言集 -
Authorization
告知伺服器使用者代理的認證資訊 -
Expect
告知伺服器期望出現的某種特定行為 -
From
告知伺服器使用使用者代理的使用者電子郵箱 -
Host
告知伺服器,請求的資源所處的網際網路主機名和埠號 -
If-Match
條件請求,伺服器接收到附帶條件的請求後,只有判定條件為真時,才會執行清華 -
If-Modified-Since
附帶的條件請求,告知伺服器欄位值早於資源的更新時間,則希望能處理該請求 -
Proxy-Authorization
接收到從代理伺服器傳送來的認證質詢時,客戶端會傳送包含首部欄位Proxy-Authorization
的請求,以告知伺服器認證
所需要的資訊 -
Range
對於只獲取部分資源的範圍請求,包含首部欄位Range
即可告知伺服器資源的指定範圍 -
Referer
告知伺服器請求的原始資源的URI
-
TE
告知伺服器客戶端能夠處理響應的傳輸編碼方式以及相對優先順序 -
User-agent
用於傳達瀏覽器的種類
響應首部欄位
-
Accept-Ranges
當不能處理範圍請求時,伺服器會Accept-Ranges:none
,可以處理時是具體的byte
-
Age
告知客戶端,服務端在多久前建立了響應,欄位值為秒 -
ETag
告知客戶端的實體標識,它是一種可將資源以字串形式做唯一性標識的方式,伺服器會為每一份資源分配對應的ETag
值 -
Location
可以將響應接收方式導至某個與請求URI
位置不同的資源 -
Proxy-authenticate
把由代理伺服器所要求的認證資訊傳送給客戶端 -
Server
告知客戶端當前伺服器上安裝的HTTP伺服器的應用程式資訊 -
WWW-Authenticate
用於HTTP訪問認證,它會告知客戶端適用於訪問請求URI所指定的認證方案
實體首部欄位
-
Allow
告知客戶端能夠支援Request-URI
指定資源的所有HTTP方法 -
Content-Encoding
告知客戶端伺服器對實體的主體部分選用的內容編碼方式 -
Content-Language
告知客戶端,實體主體使用的自然語言 -
Content-Length
標識了實體主體部分的大小(byte) -
Content-Location
表示了報文主體返回資源對應的URI -
Content-MD5
客戶端會對接收到的報文主體執行相同的MD5演算法,然後與首部欄位Content-MD5
的欄位值比較 -
Content-Range
針對範圍請求,返回響應時使用的首部欄位,告知客戶端作為響應返回的實體的那個部分符合範圍請求 -
Content-Type
說明了實體主體內物件的媒體型別 -
Expires
告知客戶端資源失效的日期 -
Last-Modified
指明資源最終修改的時間
為cookie
服務的首部欄位
set-cookie
-
name=value
賦予cookie的名稱和值 -
expires=Data
cookie 的有效期(不指定,預設是關閉瀏覽器,失效) -
path=/
將伺服器上的檔案目錄作為cookie適用物件 -
domain=域名
作為cookie適用物件的域名 -
secure
僅在https安全通訊是才會傳送cookie -
HttpOnly
加以限制,使cookie不能被JavaScript指令碼訪問
cookie
首部欄位cookie會告知伺服器,當客戶端想獲得HTTP狀態管理支援時,就在請求中包含從伺服器接收到的cookie
本作品採用《CC 協議》,轉載必須註明作者和本文連結