一、概述
HTTP 首部欄位是構成 HTTP 報文的要素之一,在客戶端與服務器之間以 HTTP 協議進行通信的程序中,無論是請求還是回應都會使用首部欄位,它能起到傳遞額外重要資訊的作用,
使用首部欄位是為了給瀏覽器和服務器提供報文主體大小、所使用的語言、認證資訊等內容,
HTTP/1.1 首部欄位根據實際用途被分為以下 4 種型別:
- 通用首部欄位( General Header Fields)
- 請求首部欄位( Request Header Fields)
- 回應首部欄位( Response Header Fields)
- 物體首部欄位( Entity Header Fields)
二、通用首部欄位
通用首部欄位指的是請求報文和回應報文兩方都會使用的首部,
| 首部欄位名 | 說明 |
|---|---|
| Cache-Control | 控制快取的行為 |
| Date | 創建報文的日期時間 |
| Pragma | 報文指令,舊版本遺留欄位,作為舊版本兼容欄位 |
| Connection | 逐跳首部欄位、控制不再轉發給代理的首部欄位、管理持久連接 |
| Trailer | 逐跳首部欄位,報文末端的首部一覽 |
| Transfer-Encoding | 逐跳首部欄位,指定報文主體的傳輸編碼方式 |
| Upgrade | 逐跳首部欄位,升級為其他協議 |
| Via | 代理服務器的相關資訊 |
| Warning | 錯誤通知 |
三、請求首部欄位
請求首部欄位指的是從客戶端向服務器端發送請求報文時使用的首部,補充了請求的附加內容、客戶端資訊、回應內容相關優先級等資訊,
| 首部欄位名 | 說明 |
|---|---|
| Accept | 用戶代理可處理的媒體型別 |
| Accept-Charset | 可處理的優先的字符集 |
| Accept-Encoding | 可處理的優先的內容編碼 |
| Accept-Language | 可處理的優先的語言(自然語言) |
| Authorization | 認證資訊 |
| Expect | 期待服務器的特定行為 |
| From | 用戶的電子郵箱地址 |
| Host | 請求資源所在服務器,多用于單臺服務器分配多個域名的場景 |
| If-Match | 比較物體標記(ETag) |
| If-Modified-Since | 比較資源的更新時間 |
| If-None-Match | 比較物體標記(與If-Match相反) |
| If-Range | 資源未更新時發送物體Byte的范圍請求 |
| If-Unmodified-Since | 比較資源的更新時間(與If-Modified-Since相反) |
| Max-Forwards | 最大傳輸逐跳數,配合 TRACE 請求使用 |
| Proxy-Authorization | 逐跳首部欄位,代理服務器要求客戶端的認證資訊 |
| TE | 逐跳首部欄位,傳輸編碼的優先級 |
| Range | 物體的位元組范圍請求 |
| Referer | 對請求中URI的原始獲取方 |
| User-Agent | 請求的瀏覽器和用戶代理名稱等資訊 |
| Cookie | Cookie 資訊 |
| DNT | Do Not Track,拒絕個人資訊被收集,表示拒絕被精準廣告追蹤的一種方法,0-同意 1-拒絕 |
四、回應首部欄位
回應首部欄位指的是從服務器端向客戶端回傳回應報文時使用的首部,補充了回應的附加內容, 也會要求客戶端附加額外的內容資訊,
| 首部欄位名 | 說明 |
|---|---|
| Accept-Ranges | 是否接受位元組范圍請求 |
| Age | 源服務器多久前創建了回應,單位為秒 |
| ETag | 資源的匹配資訊,唯一性標識 |
| Location | 令客戶端重定向至指定URI |
| Proxy-Authenticate | 逐跳首部欄位,代理服務器對客戶端的認證資訊 |
| WWW-Authenticate | 服務器對客戶端的認證資訊 |
| Retry-After | 告知客戶端應該多久之后再次發送請求 |
| Server | 當前服務器上安裝的 HTTP 服務器應用程式的資訊 |
| Vary | 對快取進行控制,源服務器會向代理服務器傳達關于本地快取使用方法的命令 |
| Set-Cookie | 通知客戶端開始狀態管理所使用的Cookie資訊 |
| X-Frame-Options | 用于控制網站內容在其他 Web 網站的 Frame 標簽內的顯示問題, 主要目的是為了防止點擊劫持(clickjacking)攻擊,可設定 DENY 或 SAMEORIGIN |
| X-XSS-Protection | 針對跨站腳本攻擊(XSS)的一種對策,用于控制瀏覽器 XSS 防護機制的開關,0-關閉,1-打開 |
五、物體首部欄位
物體首部欄位指的是針對請求報文和回應報文的物體部分使用的首部,補充了資源內容更新時間等與物體有關的資訊,
| 首部欄位名 | 說明 |
|---|---|
| Allow | 資源可支持的HTTP方法 |
| Content-Encoding | 物體主體適用的編碼方式 |
| Content-Language | 物體主體的自然語言 |
| Content-Length | 物體主體的大小(單位:位元組) |
| Content-Location | 報文主體回傳資源對應的 URI,Location 對應的是回應,而 Content-Location 對應的是要回傳的物體 |
| Content-MD5 | 一串由 MD5 演算法生成的值,其目的在于檢查報文主體在傳輸程序中是否保持完整,以及確認傳輸到達 |
| Content-Range | 物體主體的位置范圍 |
| Content-Type | 物體主體的媒體型別 |
| Expires | 物體主體過期的日期時間,若不希望被快取可設定成與 Date 值一致 |
| Last-Modified | 資源的最后修改日期時間 |
tips: 逐跳首部欄位(Hop-by-hop Header)指的是只對單次轉發有效, 會因通過快取或代理而不再轉發,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/162688.html
標籤:Java
上一篇:MQ系列(0)——MQ簡介
