HTTP協議詳解之報頭篇

2021-08-10 12:18:24 字數 1784 閱讀 9686

最近看《php核心技術與最佳實踐》一書,http協議部分講解的清晰易懂,特此整理。

1. 建立連線

客戶機與伺服器需要建立連線。單機某個超連結,http協議工作開始

2. 傳送請求

建立連線後,客戶機傳送乙個請求給伺服器。格式為:前面是統一資源識別符號url,中間是協議版本號,後面是mime資訊(包括請求修飾符、客戶機資訊和可能的內容)

3. 響應

伺服器接到請求後,給予相應的響應資訊。格式為:首先是乙個狀態行(包括資訊的協議版本號、乙個成功或錯誤的**),然後是mime資訊(包括伺服器資訊、實體資訊和可能的內容)

4. 斷開連線

http訊息報頭包括普通報頭、請求報頭、響應報頭、實體報頭。每個報頭域組成形式如下:

名字+ : +空格+值
乙個報頭的資訊截圖如:

頭域指定的請求資源的internet主機和埠號,必須表示請求url的原始伺服器或閘道器的位置。http請求必須包含主機頭域,否則系統會以400狀態碼返回

簡稱ua,內容包含發出請求的使用者資訊,通常ua包含瀏覽者的資訊,主要是瀏覽器的名稱版本和所用的作業系統。上圖可以看到客戶端使用的是chrome瀏覽器/windows系統。這個ua頭不僅僅是使用瀏覽器才存在,只要使用了基於http協議的客戶端軟體都會傳送這個請求,無論是手機端還是pda等,這個ua頭是辨別客戶端所用裝置的重要依據。

告訴伺服器可以接受的檔案格式。通常這個值在各種瀏覽器中都差不多,不過wap瀏覽器所能接受的格式要少一些,這也是用來區分wap和計算機瀏覽器的主要依據之一,隨著wap瀏覽器的公升級,其已經和計算機瀏覽器越來越接近,因此這個判斷所起的作用也越來越弱。

cookie分兩種,一種是客戶端向伺服器傳送的,使用cookie報頭,用來標記一些資訊,另一種是伺服器傳送給瀏覽器的,報頭為set-cookie。二者的主要區別是cookie報頭的value裡可以有多個cookie值,並且不需要顯示指定domain等。而set-cookie報頭里一條記錄只能有乙個cookie的value,需要指明domain、path等。

指定請求和響應遵循的快取機制。在請求訊息或響應訊息中設定cache-control並不會修改另乙個訊息訊息處理過程中的快取處理過程。請求時的快取指令包括no-cache、no-store、man-age、max-stake、min-fresh、only-if-cached;響應訊息中的指令包括 public、privete、no-cache、no-store、no-transform、must-revalidate、proxy-revalidate、max-age。

頭域允許客戶端指定請求url的資源源位址,這可以允許伺服器生成回退鍊錶,可用來登入、優化快取等。也允許廢除的或錯誤的鏈結由於維護的目的被追蹤。如果請求的url沒有自己的url位址,referer不能被傳送。如果指定的是部分url位址,則此位址應該是乙個相對位址,referer通常是流量統計系統用來記錄來訪者位址的引數。

內容長度。

指定所能接收的編碼方式,通常伺服器會對頁面進行gzip壓縮後再輸出以減少流量,一般瀏覽器均支援對這種壓縮後的資料進行處理,但對於我們來說,如果不想接收到這些看似亂碼的資料,可以指定不接收任何伺服器端壓縮處理,要求其原樣返回。

在http訊息中,也可以使用一些在http1.1正式規範裡沒有定義的頭字段,這些頭欄位統稱為自定義的http頭或擴充套件頭。比如上圖中的server欄位,這個報頭一般是由伺服器傳送的。也可以定義一些「不正規」的報頭,如「webmaster:[email protected]」。在php裡,使用header函式即可實現。

HTTP協議詳解之訊息報頭

http訊息由客戶端到伺服器的請求和伺服器到客戶端的響應組成。請求訊息和響應訊息都是由開始行 對於請求訊息,開始行就是請求行 對於響應訊息,開始行就是狀態行 訊息報頭 可選 空行 只有crlf的行 訊息正文 可選 組成。http訊息報頭包括普通報頭 請求報頭 響應報頭 實體報頭。每乙個報頭域都是由名...

HTTP協議詳解之User Agent篇

user agent 使用者 指瀏覽器他的資訊包括硬體平台 系統軟體 應用軟體和使用者個人偏好。使用者 不僅僅指瀏覽器,還包括搜尋引擎。為什麼所有瀏覽器的user agent都帶有mozilla?mozilla是netscape的吉祥物,也是mozilla瀏覽器使用的內部開發代號。由於mozilla...

HTTP協議詳解之URL篇

http url基本格式 1 http 表示要通過http協議來定位網路資源,用http協議。常見協議 http協議,最常見協議 file協議,file資源是本地計算機上的檔案,格式 file 注意後邊應該是三個斜槓 ftp協議,通過ftp訪問資源,格式ftp https協議 3 port 表示埠,...