HTTP 學習瞭解(三)

echo_dump發表於2019-12-20

HTTP學習瞭解(三)

  • HTTP首部欄位 HTTP首部欄位是構成HTTP報文的要素之一。無論是請求還是響應都會使用首部欄位,它起到傳遞額外重要資訊的作用,使用首部欄位是為了提
    供瀏覽器和伺服器提供報文主體大小,所使用的語言,認證資訊等內容

  • HTTP首部欄位結構 首部欄位名: 欄位值

  • HTTP首部欄位型別

  1. 通用首部欄位 General Header Feilds 請求報文和響應報文都會使用的報文
Cache-Control:控制快取行為;

Connection:逐跳首部,連線的管理;

Date: 建立報文的時間;

Pragma: 報文指令;

Trailer: 報文末端的首部一覽;

Transfer-Encoding: 指定報文主體的傳輸編碼方式;

Upgrade: 升級為其它協議;

Via: 代理伺服器的相關資訊;

Warning: 錯誤通知;
  1. 請求首部欄位 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客戶端程式的資訊
  1. 響應首部欄位 Response Header Feilds 服務端向客戶端返回報文資訊所使用的報文
Accept-Ranges: 是否接受位元組範圍請求

Age: 推算資源建立經過的時間

Etag: 資源的匹配資訊

Location: 令客戶端重定向至指定的URI

Proxy-Authenticate: 代理伺服器對客戶端的認證資訊

Retry-After: 對再次傳送請求的的時機要求

Server: HTTP伺服器的安裝資訊

Vary: 代理伺服器快取的管理資訊

WWW-Authenticate: 伺服器對客戶端的認證資訊
  1. 實體首部欄位 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首部
  1. 端到端首部

分在此類別中的首部會轉發給請求 / 響應對應的最終接受目標,且必須儲存在由快取生成的響應,另外規定它必須被轉發

  1. 逐跳首部

分在此類中的首部只對單次轉發有效。會因透過快取或代理不在轉發

Connection: 逐跳首部,連線的管理;

Keep-Alive: 指定長連線

Proxy-Authenticate: 響應標頭定義了應該用來訪問代理伺服器後面的資源的認證方法。它驗證對代理伺服器的請求,允許它進一步傳輸請求。 

Proxy-Authorization: 請求標頭包含用於向代理伺服器認證使用者代理的憑證,通常在伺服器響應407 Proxy Authentication Required狀態和Proxy-Authenticate標題後。

Trailer: 報文末端的首部一覽;

TE: 傳輸編碼的優先順序

Transfer-Encoding: 指定報文主體的傳輸編碼方式;

Upgrade: 升級為其它協議;
  • 通用首部欄位
  1. 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地址

相關文章