Http的請求報文首部學習

2021-10-09 05:23:35 字數 2536 閱讀 1852

可以發現,其與響應報文首部是有對應關係的

cache-control

cache-control

能夠操作快取的工作機制

public

指其它使用者也可以訪問該快取

private

快取只提供給特定的物件,其它使用者的請求並不會從快取中拿

no-cache

防止從快取中返回過期的資源

no-store

這個才是不快取

s-maxage

設定快取的時間,但其適用於多使用者的公共快取伺服器,

max-age

如果時間小於該數值,則不用向伺服器確認快取資源的有效性。

如果max-age值為0,則通常需要將請求發給源伺服器

http1.1中,有了max-age,就會忽略expire

min-fresh

指定伺服器返回至少還未過指定時間的快取資源。

如果超過該數值,則快取的資源無法返回

max-stale

表示快取資源過期後,還可繼續使用的時間。

only-if-cache

must-revalidate

使用該指令,快取伺服器會再次向伺服器確認快取資源的有效性

使用了該指令,則會忽略max-stale指令

proxy-revalidate

表示快取伺服器收到客戶端的請求後,必須先確認快取資源的有效性

no-transfer

表示防止快取伺服器,不能改變主體的**型別。如壓縮等操作

connection

date

表示建立http報文的日期和時間

transfer-encoding

規定了傳輸報文主體時採用的編碼方式

upgrade

用於檢測http協議及其他協議是否可以使用更高的版本進行通訊。使用該首部欄位時,記得在connection欄位中加上引數值:upgrade

via用於追蹤客戶端和伺服器之前的請求和響應的傳輸路徑。使用該欄位,可以避免請求在傳輸路徑**現回環的現象。各個伺服器通過向via中新增自身伺服器的資訊,以避免下再次接收到**的請求。

accept

用於告訴伺服器,返回給客戶端什麼型別的檔案,並且可以設定多種返回型別,並制定返回型別的優先順序。用q=(0-1)來表示優先順序大小,越靠近越大,預設都是1。

類別常見

文字檔案

檔案image/jpeg,image/gif,image/png

video/mpeg,video/quicktime

二進位制檔案

accept-charset

用於告訴伺服器使用者**支援的字符集和字符集的優先順序。使用同上述accept一樣。

accept-encoding

用來告訴伺服器使用者**支援的內容編碼及內容編碼的優先順序順序。內容編碼的引數,在上面提到過了

accept-language

用來告訴伺服器使用者**想要的語言及語言的優先順序。比如中文頁面,英文頁面。

from

用來告知伺服器使用者**的電子郵件****。使用**的時候,應該盡可能的包含from欄位。但也有可能該電子****被記錄在user-agent欄位當中了

host欄位

當出現乙個主機上可能設定了多個網域名稱,即多個虛擬主機的時候,那麼對於不同http的請求,可能都會因為dns解析成相同的ip。如果這個時候通過ip找到了對應的伺服器,但是會因為不知道是哪乙個虛擬主機而導致錯誤。所以需要在host欄位中加上網域名稱,這樣就可以判斷出到底訪問的是哪乙個網域名稱的虛擬主機。

host也是唯一乙個必須要包含在請求內部的首部字段

if-***系列

該系列可以被稱為條件系列,則需要滿足條件,伺服器才可做出回應

if-***

解釋if-match

只有當伺服器確認請求資源的etag值匹配時,才可以返回該資源

比如if-match:「123」 ,則需要資源上etag字段值也是"123"

if-modified-since

在指定日期之後更新過的資源,伺服器就會接收該請求,否則返回304。通常與last-modefied作比較。若早於last-modefied,則處理

if-none-match

與 if-match 首部欄位的作用相反,etag不一樣才處理請求

if-range

字段值(etag 值或者時間)和請求資源的 etag 值或時間相一 致時,則作為範圍請求處理。反之,則返回全體資源

if-unmodified-since

和首部字段 if-modified-since 的作用相反。否則返回412

max-forwards

規定最大**次數。每**一次,數值-1。

如果客戶端等不到伺服器返回的響應,那麼我們也不知道是在哪一處**發生了問題,那麼通過除錯max-forwards數值,起碼可以確認到數值為0的時候那台伺服器的情況。

referer

這個欄位會告訴伺服器請求的原始資源的uri te

告訴伺服器能夠處理響應的傳輸編碼方式以及相對優先順序。

user-agent

會將建立請求的瀏覽器和使用者**名稱等資訊傳 達給伺服器。

Http的響應報文首部學習

可以發現,其與請求報文首部是有對應關係的 accept ranges 用來告訴客戶端伺服器是否能處理範圍請求,以指定獲取伺服器端某個部分的資源。可有字段值有兩個 age可以看出源伺服器在多久前做出過響應,單位值是秒 etag 伺服器會為每乙份資源分配乙個etag值,它可以將資源以字串的形式做唯一標識...

HTTP全部報文首部字段

http報文結構 http報文型別 http請求報文首部 http響應報文首部 http一共有四種型別的首部字段 通用首部字段 首部欄位名 說明cache 控制快取的行為 connection 逐跳首部 連線的管理 date 建立報文的日期時間 pragma 報文指令 trailer 報文末端的首部...

http協議(六)報文首部

http請求和響應報文內容比較多,會分為大概四部分更新,最近比較忙,沒太多時間整理 首先來看看報文結構吧 1 http請求報文 http請求報文由方法 uri http版本。http首部欄位等構成 下面給大家示例乙個訪問my view page.php的請求報文首部資訊 關於報文的首部資訊,稍微詳解...