HTTP學習瞭解(三)
-
HTTP首部欄位 HTTP首部欄位是構成HTTP報文的要素之一。無論是請求還是響應都會使用首部欄位,它起到傳遞額外重要資訊的作用,使用首部欄位是為了提
供瀏覽器和伺服器提供報文主體大小,所使用的語言,認證資訊等內容 -
HTTP首部欄位結構
首部欄位名: 欄位值
-
HTTP首部欄位型別
- 通用首部欄位
General Header Feilds
請求報文和響應報文都會使用的報文
Cache-Control:控制快取行為;
Connection:逐跳首部,連線的管理;
Date: 建立報文的時間;
Pragma: 報文指令;
Trailer: 報文末端的首部一覽;
Transfer-Encoding: 指定報文主體的傳輸編碼方式;
Upgrade: 升級為其它協議;
Via: 代理伺服器的相關資訊;
Warning: 錯誤通知;
- 請求首部欄位
Request Header Feilds
客戶端向服務端傳送請求使用的報文
Accept: 使用者代理可處理的媒體型別;
Accept-Charset: 優先的字符集;
Accept-Encoding: 優先的內容編碼
Accept-Language: 優先的語言
Authorization: web認證資訊
Expect: 期待伺服器的特定行為
From: 使用者的電子郵箱地址
Host: 請求資源所在的伺服器
If-Match: 比較實體標記
If-Modified-Since: 比較資源的更新時間
If-None-Match: 比較實體標記(與If-Match相反)
If-Range: 資源未更新時傳送實體的byte請求
Max-Forwards: 最大傳輸逐跳數
Proxy-Authorization: 代理伺服器要求客戶端的認證資訊
Range: 實體的位元組範圍請求
Referer: 對請求中URI的原始獲取方
TE: 傳輸編碼的優先順序
User-Agent: HTTP客戶端程式的資訊
- 響應首部欄位
Response Header Feilds
服務端向客戶端返回報文資訊所使用的報文
Accept-Ranges: 是否接受位元組範圍請求
Age: 推算資源建立經過的時間
Etag: 資源的匹配資訊
Location: 令客戶端重定向至指定的URI
Proxy-Authenticate: 代理伺服器對客戶端的認證資訊
Retry-After: 對再次傳送請求的的時機要求
Server: HTTP伺服器的安裝資訊
Vary: 代理伺服器快取的管理資訊
WWW-Authenticate: 伺服器對客戶端的認證資訊
- 實體首部欄位
Entity Header Fields
針對請求報文和響應報文的實體部分使用的首部
Allow: 資源可支援的HTTP方法
Content-Encoding: 實體主體適用的編碼方式
Content-Language: 實體主體的自然語言
Content-Length: 實體主體的大小
Content-Location: 替代對應資源的URI
Content-MD5: 實體主體的報文摘要
Content-Range: 實體主體的位置範圍
Content-Type: 實體主體的媒體型別
Expires: 實體主體過期的日期時間
Last-Modified: 資源的最後修改日期
- End-to-end 首部和 Hop-by-hop首部
- 端到端首部
分在此類別中的首部會轉發給請求 / 響應對應的最終接受目標,且必須儲存在由快取生成的響應,另外規定它必須被轉發
- 逐跳首部
分在此類中的首部只對單次轉發有效。會因透過快取或代理不在轉發
Connection: 逐跳首部,連線的管理;
Keep-Alive: 指定長連線
Proxy-Authenticate: 響應標頭定義了應該用來訪問代理伺服器後面的資源的認證方法。它驗證對代理伺服器的請求,允許它進一步傳輸請求。
Proxy-Authorization: 請求標頭包含用於向代理伺服器認證使用者代理的憑證,通常在伺服器響應407 Proxy Authentication Required狀態和Proxy-Authenticate標題後。
Trailer: 報文末端的首部一覽;
TE: 傳輸編碼的優先順序
Transfer-Encoding: 指定報文主體的傳輸編碼方式;
Upgrade: 升級為其它協議;
- 通用首部欄位
- Cache-Control 可以控制快取行為
#快取請求指令
no-cache: 強制向源伺服器再次驗證
no-store: 不快取請求或響應的任何內容
max-age=[秒]: 響應的最大age值
max-stale=[秒]: 接受已過期的響應
max-fresh=[秒]: 期望在指定的時間內的響應任有效
no-transform: 代理不可更改媒體的型別
only-if-cached: 從快取獲取資源
cache-extension: 新指令標記
# 快取響應的指令
public: 可向任意方提供響應快取
private: 向特定使用者返回響應
no-cache: 快取前必須先確定其有效性
no-store: 不快取請求響應的任何內容
no-transform: 代理不可更改媒體的型別
mast-revalidate: 可快取但必須向源伺服器進行確認
s-maxage=[秒]: 公共快取伺服器響應的最大Age值
未完
本作品採用《CC 協議》,轉載必須註明作者和本文連結
LIYi ---- github地址