兩分鐘了解HTTP請求報文和響應報文

2021-10-25 22:18:17 字數 2094 閱讀 7804

一、http請求報文

http請求報文由3部分組成(請求行+請求頭+請求體):

請求行:

①是請求方法,如get和post。

②為請求對應的url位址,它和報文頭的host屬性組成完整的請求url。

③是協議名稱及版本號。

請求頭:

④是http的報文頭,包含若干個屬性,格式為「屬性名:屬性值」,服務端據此獲取客戶端的資訊。與快取相關的規則資訊,均包含在header中

請求體:

⑤是報文體,它將乙個頁面表單中的元件值通過param1=value1¶m2=value2的鍵值對形式編碼成乙個格式化串,它承載多個請求引數的資料。報文體可以傳遞請求引數,同樣請求url也可以通過類似於「/chapter15/user.html?param1=value1¶m2=value2」的方式傳遞引數。

http請求報文頭屬性說明:

accept:

請求報文告訴服務端,客戶端接受什麼型別的響應。如accept:text/plain報文頭告訴服務端,客戶端能夠接受的響應型別僅為純文字資料。

referer:

表示這個請求是從哪個url過來的。

accept-language:

告知伺服器客戶端能夠處理的語言集(指中文或英文等),以及語言集的相對優先順序。

user-agent:

使用者**,告知伺服器客戶端瀏覽器的型別、版本等資訊,以便伺服器更好的提供服務。

content-type:

表明傳送資料流的型別,伺服器根據編碼型別使用特定的解析方式獲取資料。

host:

用於區分同一ip上的不同虛擬主機。

content-length:

標識http訊息實體的傳輸長度,單位位元組。

connection:

用於管理持久連線,http/1.1 版本的預設連線都是持久連線,想明確斷開連線時,則指定connection 的值為 close。

cache-control:

快取控制,比如是否需要快取或要快取多久等。

cookie:

客戶端cookie通過這個報文頭屬性傳給服務端。服務端如何確定客戶端的多個請求隸屬哪個session?通過請求報文頭cookie屬性的jsessionid的值來確定。(也可以通過重寫url將id附帶在url的後面)。

二、http響應報文

http的響應報文也由三部分組成(響應行+響應頭+響應體):

響應行:

①報文協議及版本;

②狀態碼及狀態描述;

響應頭:

③響應報文頭,也是由多個屬性組成;

響應體:

④響應報文體,真正需要的資料。

常見的狀態碼:

301:永久重定向;

302:臨時重定向;

401:傳送的請求要有http的驗證資訊;

402:請求報文中有語法錯誤;

403:無權訪問;

404:沒有對應的資源;

500:伺服器執行請求時發生錯誤;

503:伺服器停機或正在維護。

http響應報文頭一些屬性說明

server:

告知客戶端當前伺服器上安裝的 http 伺服器應用程式的資訊。

transfer-encoding:

規定了傳輸報文主體時採用的編碼方式。http/1.1 的傳輸編碼方式僅對分塊傳輸編碼有效。

date:

建立 http 報文的日期和時間。

HTTP請求報文和響應報文

一.http請求報文 乙個http請求報文由請求行 請求頭 空行 請求資料四個部分組成 1.請求行 請求行由請求方法字段 url欄位 http協議版本三個字段組成 請求方法有get post head put delete options trace connect,其中,最常用的是get post...

HTTP請求報文和響應報文

乙個http請求報文由請求行 request line 請求頭部 header 空行和請求資料4個部分組成。大致結構是這樣的 request line 請求行 headers 首部行 blank line 空行 request body 請求體 下面是例子 post user http 1.1 請求...

HTTP請求報文 響應報文

connection close 伺服器傳送完請求物件後就關閉這條連線 user agent mozilla 5.0 使用者 即向伺服器傳送請求的瀏覽器型別 accept language fr 表示使用者想得到該物件的法語版本http的請求報文第一行叫做請求行,其後繼的為首部行。請求行有三個字段 ...