詳解HTTP的3次握手和4次揮手

2021-08-18 12:04:31 字數 963 閱讀 5123

【http與tcp/ip】

我們知道網路由下往上分為7層:物理層、資料鏈路層、網路層、傳輸層、會話層、表示層和應用層。

tpc/ip協議是傳輸層協議,主要解決資料如何在網路中傳輸。

http是應用層協議,主要解決如何包裝資料。

所以說http是基於tpc/ip的,與http類似也是基於tpc/ip的還有ftp啊這類的應用層協議。

【tcp/ip三次握手建立連線】

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

服務端聽到後如果表示可以接受資料,則向客戶端發起第二次握手(這次握手表示,我能接受你的資料哦,同時由於tcp/ip是全雙工的,服務端的這次握手也是在詢問,你能接受我返回給你的資料嗎?);

接著客戶端發起第三次握手(告訴服務端,是的,我也能接受你返回給我的資料,ok,這下兩個人都放心了,連線建立成功)。

【tcp/ip四次揮手釋放連線】

tcp/ip是全雙工的,每個方向都必須單獨進行關閉。有一方完成它的資料傳送任務後就能傳送乙個fin來終止這個方向的連線。

比如客戶端給服務端傳送乙個fin,告訴服務端,我再也沒有資料要傳給你啦,這是第一次揮手;

服務端收到後返回乙個ack告訴客戶端,好的,知道啦,這是第二次揮手。客戶端收到確認後就可以關閉往服務端那邊的資料傳輸通道了,這個時候服務端仍然可以往客戶端繼續傳送資料。

待服務端也再沒有資料要往客戶端傳送時,就也發乙個fin到客戶端,告訴它,我也沒啥要傳給你了,這是第三次揮手。

客戶端得知後在返回乙個ack告訴服務端,好的,收完了,服務端也就可以安心關閉往客戶端的資料傳輸通道了,這是第四次揮手。自此雙向的傳輸通道都已關閉,連線成功釋放。

詳解TCP的3次握手和4次揮手

每當建立乙個tcp ip連線的時候都要經歷3次握手,這是為了保證建立乙個可靠的連線。上圖中的三次揮手說的是,客戶端向伺服器發請求,伺服器接收請求,伺服器接收請求之後傳送乙個連線標誌,客戶端接收連線標誌之後也向伺服器傳送乙個連線標誌,至此連線完成。用打 模擬的話就是 小明撥打小紅的 小紅按下通話鍵並說...

3次握手和4次揮手

客戶端通過向伺服器端傳送乙個syn來建立乙個主動開啟,作為三路握手的一部分。客戶端把這段連線的序號設定為隨機數 a。伺服器端應當為乙個合法的syn回送乙個syn ack。ack 的確認碼應為 a 1,syn ack 包本身又有乙個隨機序號 b。最後,客戶端再傳送乙個ack。當服務端受到這個ack的時...

TCP的3次握手和4次揮手

三次握手建立連線 如上圖 黑框 所示,在最初兩端的tcp程序都處於closed狀態。host1主動開啟連線,而host2被動開啟連線。host2的tcp伺服器程序優先建立傳輸控制塊tcb,準備接受客戶程序的連線請求,然後將自己的狀態有colsed改為listen 收聽 狀態,等待客戶的連線請求 ho...