一,HTTP報文首部
HTTP協議的請求和響應報文中必定包含HTTP首部。首部內容為客戶端和服務器分別處理請求和響應提供所需要的信息。
報文首部由幾個字段構成。HTTP請求報文由方法、URI、HTTP版本、HTTP首部字段等部分構成。
HTTP響應報文由HTTP版本、狀態碼(數字和原因短語)、HTTP首部字段三部分構成。
使用首部字段是為了給瀏覽器和服務器提供報文主體大小、所使用的語言、認證信息等內容。HTTP首部字段是由首部字段名和字段值構成,中間用冒號分隔。例如Content-Type字段顯示。
Content-Type:text/html
Keep-Alive:timeout=15,max=100
二,HTTP首部字段
HTTP/1.1首部字段
根據實際用途被分為以下四種類型。
1,通用首部字段(General Header Fields)
請求報文和響應報文兩方都會使用的首部。
2,請求首部字段(Request Header Fields)
從客戶端向服務器發送請求報文時使用的首部,補充了請求的附加內容、客戶端信息、響應內容相關優先級等信息。
3,響應首部字段(Response Header Fields)
從服務器端到客戶端返回響應報文時使用的首部,補充了響應的附加內容,也會要求客戶端附加額外的內容信息。
4,實體首部字段(Entity Header Fields)
針對請求報文和響應報文的實體部分使用的首部,補充了資源內容更新時間等與實體有關的信息。
非HTTP/1.1首部字段
在HTTP協議通信交互中使用到的首部字段,不限于RFC2616種定義的47種首部字段。還有Cookie、Set-Cookie和Content-Disposition等在其他RFC中定義的首部字段。這些非正式的首部字段統一歸納在RFC4229 HTTP Header Field Registrations中。
End-to-end首部和Hop-by-hop首部
HTTP首部字段將定義成緩存代理和非緩存代理的行為,分為端到端首部(End-to-end Header)和逐跳首部(Hop-by-hop Header)兩種類型。
下面列舉了HTTP/1.1中的逐跳首部字段,除了以下8個首部字段之外,其他所有字段都屬于端到端首部:
(1)Connection
(2)Keep-Alive
(3)Proxy-Authenticate
(4)Proxy-Authorization
(5)Trailer
(6)TE
(7)Transfer-Encoding
(8)Upgrade