Http學習《三》HTTP 首部

2021-07-27 12:51:44 字數 1930 閱讀 9331

http 協議的請求和響應報文中必定包含 http 首部,只是我們平時

在使用 web 的過程中感受不到它。本章我們一起來學習 http 首部

的結構,以及首部中各字段的用法。

http 響應報文

在響應中,http 報文由 http 版本、狀態碼(數字和原因短語)、

http 首部字段 3 部分構成。

以下示例是之前請求訪問時,返回的響應報文的首部

資訊。http/1.1 304 not modified

date: thu, 07 jun 2012 07:21:36 gmt

server: apache

connection: close

etag: 「45bae1-16a-46d776ac」

在報文眾多的字段當中,http 首部字段包含的資訊最為豐富。首部

字段同時存在於請求和響應報文內,並涵蓋 http 報文相關的內容信

息。 因 http 版本或擴充套件規範的變化,首部欄位可支援的字段內容略有不

同。本書主要涉及 http/1.1 及常用的首部字段。

http 首部字段傳遞重要資訊

http 首部欄位是構成 http 報文的要素之一。在客戶端與伺服器之

間以 http 協議進行通訊的過程中,無論是請求還是響應都會使用首

部欄位,它能起到傳遞額外重要資訊的作用。

使用首部欄位是為了給瀏覽器和伺服器提供報文主體大小、所使用的

語言、認證資訊等內容。

http 首部字段結構

首部欄位名: 字段值

例如,在 http 首部中以 content-type 這個欄位來表示報文主體的 對

象型別。

content-type: text/html

就以上述示例來看,首部欄位名為 content-type,字串 text/html 是

字段值。

另外,字段值對應單個 http 首部字段可以有多個值,如下所示。

keep-alive: timeout=15, max=100

若 http 首部字段重複了會如何

當 http 報文首部中出現了兩個或兩個以上具有相同首部欄位名時

會怎麼樣?這種情況在規範內尚未明確,根據瀏覽器內部處理邏輯

的不同,結果可能並不一致。有些瀏覽器會優先處理第一次出現的

首部字段,而有些則會優先處理最後出現的首部字段。

4 種 http 首部字段型別

通用首部字段(general header fields)

請求報文和響應報文兩方都會使用的首部。

請求首部字段(request header fields)

響應首部字段(response header fields)

從伺服器端向客戶端返回響應報文時使用的首部。補充了響應的附加

內容,也會要求客戶端附加額外的內容資訊。

實體首部字段(entity header fields)
針對請求報文和響應報文的實體部分使用的首部。補充了資源內容更

新時間等與實體有關的資訊

下面列舉了 http/1.1 中的逐跳首部字段。除這 8 個首部字段之外,

其他所有欄位都屬於端到端首部。

HTTP學習筆記 HTTP首部字段(1)

http協議的請求和響應報文中必定包含http首部。首部內容為客戶端和伺服器分別處理請求和響應提供所需要的資訊。在請求中,http報文首部由以下幾部分構成 在響應中,http報文首部由以下幾個部分構成 首部字段同時存在與請求和響應報文內,並涵蓋http報文相關的內容資訊。http首部欄位是由首部欄位...

HTTP協議 HTTP首部總結

首部和方法配合工作,共同決定了客戶端和伺服器能做什麼事情。http協議的請求和響應報文中必定含有http首部,首部內容為客戶端和伺服器分別處理請求和響應提供所需要的資訊,對客戶端使用者來說,這些資訊中的大部分內容都無須親自檢視,因此平時在使用web的過程中感受不到它。http請求報文由方法 uri ...

HTTP協議 HTTP實體首部

有很多首部可以用來描述http報文的復合。由於請求和響應報文中都可能包含實體部分,所以在這兩種型別的報文中都可能出現這些首部。首部欄位名 說明allow 資源可支援的http方法 content encoding 實體主體使用的編碼方式 content language 實體主體的自然語言 cont...