HTTP的通訊過程及請求報文和響應報文(詳解)

2021-09-25 15:00:22 字數 3071 閱讀 3624

一、首先我們先來了解一下http協議:

http協議(超文字傳輸協議):是瀏覽器和web伺服器之間進行資料通訊的格式,也就是說如果想要實現瀏覽器和web伺服器之間的通訊就需要http這個協議。並且http協議是基於tcp協議的,傳送資料之前都需要建立連線。

接下來我們來介紹一下瀏覽器訪問web伺服器的通訊過程:(重點)

瀏覽器會通過dns將輸入的網域名稱解析成ip位址

通過ip位址找到伺服器並建立連線

然後瀏覽器向伺服器傳送http請求資料

服務區收到請求資料後在伺服器內部尋找資源

找到資源後將http響應資料返回給瀏覽器

二、再給大家普及一下url (統一資源定位符)url的表現形式:

例如:其中https://是協議部分 、www.csdn.com是網域名稱部分 、 /wangtaotao_.html是資源路徑部分

這裡的網域名稱指的就是ip位址的別名,使用網域名稱的原因就是為了方便記住某台主機的ip位址。

三、檢視http協議的通訊過程(了解即可)

這裡以谷歌瀏覽器為例

使用谷歌瀏覽器開啟www.csdn.com介面,然後按快捷鍵crtl+shift+i / f12或者右擊任意處選擇』檢查』皆可調出開發者工具

開發者工具的效果圖:

開發者工具的標籤選項說明:

elements(元素標籤):用來檢視或者修改html中的內容等

console(控制台):檢視錯誤資訊,列印除錯資訊,除錯js**等

sources(源**):檢視靜態資源檔案,除錯js**等

network(網路):檢視網頁的http協議通訊過程等

開發者工具network效果圖:

. 注:這裡的每項記錄都是請求+響應的一次過程

雙擊進入其中任何乙個過程,可以看到這個過程裡的請求資訊和響應資訊。

• headers選項總共有三部分組成:

general: 主要資訊

response headers: 響應頭

request headers: 請求頭

• response選項是檢視響應體資訊的

響應體中存放的主要是伺服器返回給瀏覽器的資料

四、http的請求報文:

http最常見的請求報文有兩種:

get方式的請求報文(獲取web伺服器的資料)

post方式的請求報文(向web伺服器提交資料)

http get請求報文效果圖:

get請求報文的說明:

注:get方式一般沒有請求體,每一行後面都有乙個\r\n換行字元,只是瀏覽器中看不到

http post請求報文效果圖:

post方式下是有請求體的

post請求報文的說明:

#注:post方式請求體,每一行後面也都有乙個\r\n換行字元,只是瀏覽器中看不到

總結一下請求報文:

乙個http的get方式請求報文由:請求行、請求頭、空行組成

post方式的請求報文由:請求行、請求頭、空行和請求體組成

請求行都是由:請求方式、資源路徑、http協議版本組成

五、http的響應報文:

1.http響應報文效果圖:

響應報文的說明:

—響應行—

http/1.1 200 ok # 協議版本 狀態碼 狀態說明

—響應頭—

date: fri, 26 jul 2019 15:12:26 gmt # 伺服器的響應的時間

content-type: text/html; charset=utf-8 # 傳送的內容型別

transfer-encoding: chunked # 傳送給瀏覽器的內容是不確定的長度,content-length 表示固定長度

connection: keep-alive #與客戶端瀏覽器保持長連線

server: openresty # 伺服器的名字

content-encoding: gzip # 內容的壓縮格式

—空行—

—響應體—

響應體中的資料在response中,也就是返回給瀏覽器的資料

注:每項資料的後面也都有\r\n

補充:http狀態碼的介紹

http 狀態碼是用於表示web伺服器響應狀態的3位數字**。

狀態碼 說明

200 請求成功

307 重定向

400 錯誤的請求,請求位址或者引數有誤

404 請求資源在伺服器不存在

500 伺服器內部源**出現錯誤

5xx 有可能是反爬蟲

總結一下http響應報文:

乙個http響應報文是有響應行、響應頭、空行、響應體組成

響應行由http協議版本、狀態碼和狀態描述組成

http請求報文及響應報文

一 http報文格式 http報文分為兩類 請求報文request,響應報文response 二 http請求報文 ascii文字 易於人讀格式 user agent mozilla 4.0 該 型別的物件版本 connection close 不使用持久連線 accept language zh ...

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 請求...