第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

首頁(yè) 慕課教程 HTTP 入門教程 HTTP 入門教程 HTTP 協(xié)議及其請(qǐng)求過(guò)程

HTTP 協(xié)議及其請(qǐng)求過(guò)程

TCP/IP 的網(wǎng)絡(luò)模型有 7 層,Http 協(xié)議是位于最上層的應(yīng)用層。應(yīng)用層協(xié)議的意思是它是服務(wù)于我們能體驗(yàn)到的一些電腦軟件,QQ/郵箱/瀏覽器這些。應(yīng)用層下面還有好幾層,他們主要保障的是網(wǎng)絡(luò)傳輸中的一些安全性(會(huì)話加密),可靠性(字節(jié)冗余校驗(yàn)),字符轉(zhuǎn)字節(jié),字節(jié)轉(zhuǎn)高低電平實(shí)現(xiàn)信號(hào)的傳輸?shù)取?/p>

1. 調(diào)試工具

Http 協(xié)議及其請(qǐng)求過(guò)程是用于瀏覽器與后臺(tái)服務(wù)的數(shù)據(jù)交互的,選擇一個(gè)瀏覽器,筆者下面用 chrome 進(jìn)行演示。

  1. 打開瀏覽器;
  2. 快捷鍵按下 F12;
  3. 地址欄輸入 http://idcbgp.cn/
  4. 觀察底部 network 欄目的網(wǎng)絡(luò)請(qǐng)求信息。

瀏覽器調(diào)試

2. 協(xié)議內(nèi)容

Http 規(guī)定了會(huì)話是由客戶端發(fā)起,服務(wù)端響應(yīng)。發(fā)起和響應(yīng)的消息格式如下:

2.1 請(qǐng)求的消息格式

  • 請(qǐng)求頭部信息
get http://idcbgp.cn/ HTTP/1.1
host:117.121.101.134:443
關(guān)鍵字 說(shuō)明
get 請(qǐng)求的方法
https://www.baidu.com 請(qǐng)求的資源定位,URL
HTTP/1.1 告訴后臺(tái)服務(wù)器具體請(qǐng)求的協(xié)議版本號(hào)
host 遠(yuǎn)端服務(wù)器的地址
... 頭部字段還有很多,這邊只是列舉了必要的,詳細(xì)的見(jiàn)后面具體章節(jié)
  • 請(qǐng)求體內(nèi)容
keyword:http
name:mooc

請(qǐng)求體對(duì)應(yīng)的是具體的業(yè)務(wù)數(shù)據(jù),表單提交的字段,查詢接口的參數(shù)等。

2.2 解釋

可能部分同學(xué)會(huì)有疑問(wèn),上面的兩段請(qǐng)求內(nèi)容跟瀏覽器的截圖不一樣,原因是我上面的是 Http 協(xié)議標(biāo)準(zhǔn)的定義,瀏覽器畢竟面向的是用戶,對(duì)請(qǐng)求的信息有做了解析,更人性化地展示了請(qǐng)求的內(nèi)容。下面的內(nèi)容是某個(gè)后臺(tái)服務(wù)接收到瀏覽器請(qǐng)求的具體報(bào)文信息,借助 TCPflow 這個(gè)工具在 Linux 服務(wù)器上面監(jiān)聽(tīng)的。或者簡(jiǎn)單的 curl -v http://www.baidu.com/ 也可以看到協(xié)議內(nèi)容。
tcpflow

2.3 響應(yīng)的消息格式

  • 響應(yīng)頭部信息
HTTP/1.1 200 OK
Date:Sun, 23 Feb 2020 07:31:24 GMT
Connection: keep-alive
Content-Encoding: gzip
Content-Length: 129
Content-Type: application/json; charset=UTF-8
...

返回了請(qǐng)求的狀態(tài),200狀態(tài)碼對(duì)應(yīng)的就是成功,還有一些鏈接狀態(tài),內(nèi)容的編碼,長(zhǎng)度,媒體類型等。

  • 響應(yīng)的正文
{result: 0, data: ["Vue", "Python", "Java", "flutter", "springboot", "docker", "React", "小程序"],…}
data: ["Vue", "Python", "Java", "flutter", "springboot", "docker", "React", "小程序"]
msg: "成功"
result: 0

返回了消息的具體信息,這個(gè)消息有可能是一串 html 文本,也可能是 json 串,圖片,附件都有可能,一般是跟 content-type 對(duì)應(yīng)。

3. 小結(jié)

在上面的請(qǐng)求內(nèi)容中,規(guī)定了第一個(gè)是 method 后面是 url 接著是 protocal/version ,這樣的約束就是 http 的協(xié)議,服務(wù)器收到請(qǐng)求就根據(jù)這個(gè)規(guī)則拆開解析。應(yīng)用這樣的模式,web 的客戶端和服務(wù)端互相知道了請(qǐng)求的方法,地址,字符編碼,參數(shù),響應(yīng)值等。