HTTP 的三次握手和四次揮手

2021-08-28 01:37:42 字數 719 閱讀 6846

網路由下往上分為7層:物理層、資料鏈路層、網路層、傳輸層、會話層、表示層和應用層。tpc/ip協議是傳輸層協議,主要解決資料如何在網路中傳輸,http是應用層協議,主要解決如何包裝資料,所以說http是基於tpc/ip的。

「三次握手」建立連線

[img]

如上圖,客戶端首先發起第一次握手,向服務端表示(我要傳一些資料給你);

服務端聽到後如果表示可以接受資料,則向客戶端發起第二次握手(這次握手表示,我能接受你的資料哦,同時由於tcp/ip是全雙工的,服務端的這次握手也是在詢問,你能接受我返回給你的資料嗎?);接著客戶端發起第三次握手(告訴服務端,是的,我也能接受你返回給我的資料,ok,這下兩個人都放心了,連線建立成功)。

「四次揮手」釋放連線

[img]

tcp/ip是全雙工的,每個方向都必須單獨進行關閉。有一方完成它的資料傳送任務後就能傳送乙個fin來終止這個方向的連線。比如客戶端給服務端傳送乙個fin,告訴服務端,我再也沒有資料要傳給你啦,這是第一次揮手;服務端收到後返回乙個ack告訴客戶端,好的,知道啦,這是第二次揮手。

客戶端收到確認後就可以關閉往服務端那邊的資料傳輸通道了,這個時候服務端仍然可以往客戶端繼續傳送資料。待服務端也再沒有資料要往客戶端傳送時,就也發乙個fin到客戶端,告訴它,我也沒啥要傳給你了,這是第三次揮手。客戶端得知後在返回乙個ack告訴服務端,好的,收完了,服務端也就可以安心關閉往客戶端的資料傳輸通道了,這是第四次揮手。自此雙向的傳輸通道都已關閉,連線成功釋放。

http三次握手 HTTP三次握手,四次揮手。

三次握手 首先解析伺服器dns,找到ip,然後開始建立連線 1.第一次握手 建立連線,客戶端a傳送syn 1 隨機產生seq client isn的資料報到伺服器b,等待伺服器確認。2.第二次握手 伺服器b收到請求後確認聯機 可以接受資料 發起第二次握手請求,ack a的seq 1 syn 1,隨機...

HTTP三次握手和四次揮手

每當建立乙個tcp ip連線的時候都要經歷3次握手,這是為了保證建立乙個可靠的連線。客戶端向伺服器發請求,伺服器接收請求,伺服器接收請求之後傳送乙個連線標誌,客戶端接收連線標誌之後也向伺服器傳送乙個連線標誌,至此連線完成。生活中的栗子 小明和小麗的故事。話說有一天小麗給小明說我喜歡你 syn,一次握...

http三次握手,四次揮手

本文經過借鑑書籍資料 他人部落格總結出的知識點,歡迎提問 序列號seq 佔4個位元組,用來標記資料段的順序,tcp把連線中傳送的所有資料位元組都編上乙個序號,第乙個位元組的編號由本地隨機產生 給位元組編上序號後,就給每乙個報文段指派乙個序號 序列號seq就是這個報文段中的第乙個位元組的資料編號。確認...