1. 程式人生 > >web服務-1、http協議的三次握手四次揮手

web服務-1、http協議的三次握手四次揮手

sof close 基本 通信 無法 mage 數據 web 發送

知識點:http協議:它是基於tcp協議的,瀏覽器訪問服務器,服務器把資源回給瀏覽器,這個過程都是遵循http協議的,否則無法完成,http早些年是1.0版本,現在基本上都是1.1版本了,倆個版本的區別就是1.0使用的是短連接,早些年的網站比較簡單,短連接通信沒啥大問題,但是現在的網站各種炫酷復雜,所以使用1.1版本的長連接,提高通信效率。那麽,他的具體通信過程是怎樣的呢?也就是我們常說的三次握手和四次揮手。

1、直接看圖:

三次握手:
1:瀏覽器告訴服務器,我要和你建立鏈接,呆著位碼syn=1和一個隨機的數據包seq1_num=123發給服務器.
2:服務器收到1中的消息後,也要告訴瀏覽器我收到了,服務器會帶著ack=1和ack2_num=seq1_num+1,還有自己的隨機數據包seq2_num=789會送給瀏覽器.


3:瀏覽器收到服務的響應數據,會判斷ack2_num是否在自己發過去的seq1_num上加了1,是的話,他要給服務器回話,告訴服務器,這些數據我驗證了,是對的,瀏覽器會帶著服務器發過來的隨機碼seq2_num+1和ack發過去,服務器收到後確認seq2_num+1和ack的值,建立連接.
四次揮手:
一般斷開連接都是瀏覽器主動先斷開的,所以,

1:瀏覽器調用close()關閉發通道,告訴服務器,我不會再給你發數據了.

2: 服務器收到後,會關閉發送消息的方法(socket.recv())並回送給瀏覽器我收到你的消息.
3:同時關閉服務器的接收通道並回送給瀏覽器.
4:瀏覽器收到服務器的消息後關閉收消息的通道,並回送一條確認消息給服務器告訴服務器它收到了,服務器收到後,關閉服務器發送通道.

技術分享圖片

web服務-1、http協議的三次握手四次揮手