6 6HTTP首部 實體首部字段

2021-09-29 17:15:42 字數 3205 閱讀 9456

實體首部欄位是包含在請求報文和響應報文中的實體部分所使用的首 部,用於補充內容的更新時間等與實體相關的資訊。

首部欄位allow用於通知客戶端能夠支援 request-uri 指定資源的所 有 http 方法。當伺服器接收到不支援的 http 方法時,會以狀態碼 405 method not allowed 作為響應返回給客戶端。

與此同時,還會把所有能支 持的 http 方法寫入首部字段 allow 後返回給客戶端。

content-encoding:gzip
首部字段 content-encoding 會告知客戶端伺服器對實體的主體部分選 用的內容編碼方式。內容編碼是指在不丟失實體資訊的前提下所進行 的壓縮。

主要採用以下四種內容編碼方式:

首部欄位content-language:會告知客戶端,實體主體使用的自然語言,是英文還是中文。

首部字段 content-length 表明了實體主體部分的大小(單位是字 節)。對實體主體進行內容編碼傳輸時,不能再使用 content-length 首部字段。

content-location

:

首部字段 content-location 給出與報文主體部分相對應的 uri。和首 部欄位 location 不同,content-location 表示的是報文主體返回資源對 應的 uri

比如,對於使用首部字段 accept-language 的伺服器驅動型請求,當 返回的頁面內容與實際請求的物件不同時,首部字段 content-location 內會寫明 uri。(訪問 返回的物件卻是 等類似情況)

圖:客戶端會對接收的報文主體執行相同的 md5 演算法,然後與首 部欄位 content-md5 的字段值比較

content-md5

: ogfkzduwn**hngy3n2mxmdiwzmq4ntbmy2iyty==

首部字段 content-md5 是一串由 md5 演算法生成的值,其目的在於檢 查報文主體在傳輸過程中是否保持完整,以及確認傳輸到達。

對報文主體執行 md5 演算法獲得的 128 位二進位制數,再通過 base64 編 碼後將結果寫入 content-md5 字段值。由於 http 首部無法記錄二進 制值,所以要通過 base64 編碼處理。為確保報文的有效性,作為接 收方的客戶端會對報文主體再執行一次相同的 md5 演算法。計算出的值與字段值作比較後,即可判斷出報文主體的準確性。

採用這種方法,對內容上的偶發性改變是無從查證的,也無法檢測出 惡意篡改。其中乙個原因在於,內容如果能夠被篡改,那麼同時意味 著 content-md5 也可重新計算然後被篡改。所以處在接收階段的客戶 端是無法意識到報文主體以及首部字段 content-md5 是已經被篡改過 的。

針對客戶端的範圍請求,返回響應時使用的首部字段 content-range,能告知客 戶端作為響應返回的實體的哪個部分符合範圍請求。字段值以位元組為 單位,表示當前傳送部分及整個實體大小。

content-type

: text/html; charset=utf-

8

首部字段 content-type 說明了實體主體內物件的**型別。和首部字 段 accept 一樣,欄位值用 type/subtype 形式賦值。

引數 charset 使用 iso-8859-1 或 euc-jp 等字符集進行賦值。

首部字段 expires 會將資源失效的日期告知客戶端。快取伺服器在接 收到含有首部字段 expires 的響應後,會以快取來應答請求,在 expires 字段值指定的時間之前,響應的副本會一直被儲存。當超過 指定的時間後,快取伺服器在請求傳送過來時,會轉向源伺服器請求 資源。

源伺服器不希望快取伺服器對資源快取時,最好在 expires 欄位內寫 入與首部字段 date 相同的時間值。

但是,當首部字段 cache-control 有指定 max-age 指令時,比起首部字 段 expires,會優先處理 max-age 指令

首部字段 last-modified 指明資源最終修改的時間。一般來說,這個 值就是 request-uri 指定資源被修改的時間。但類似使用 cgi 指令碼進 行動態資料處理時,該值有可能會變成資料最終修改時的時間。

HTTP 實體首部字段

allow 通知客戶端能夠支援 request uri 指定資源的所有 http 方法 當伺服器接收到不支援的 http 方法時 會以狀態碼405 method not allowed 作為響應返回 還會把所有能支援的 http 方法寫入首部字段 allow 後返回content language ...

HTTP 實體首部字段詳解

實體首部欄位是包含在請求報文和響應報文中的實體部分所使用的首部。用於補充內容的更新時間和與實體相關的資訊。allow 該首部字段用於告知客戶端能夠支援request uri指定資源的所有http方法。當伺服器收到不支援的http方法時,會以狀態碼405 method not allowed作為響應返...

Http首部字段

熟悉http首部欄位對web開發非常重要,尤其在分析和解決問題時往往可以達到事半功倍效果.http首部字段根據實際用途被分為以下4中型別 1 通用首部字段 請求報文和響應報文兩方都會使用的首部.2 請求首部字段3 響應首部字段 從伺服器端向客戶端返回報文時使用的首部.補充了響應的附加內容,也會要求客...