TCP三次握手 客戶端與伺服器之間互相發送HTTP請求響應之前需要先進行TCP連接,因為HTTP是一個無連接、無狀態協議,不存在連接的概念,只有請求和響應的概念。而請求和響應實際上只是數據包,他們需要傳輸通道進行傳輸,而這個傳輸通道就是TCP創建的通道。那麼這個通道是如何創建的呢?就是通過TCP三次 ...
TCP三次握手
客戶端與伺服器之間互相發送HTTP請求響應之前需要先進行TCP連接,因為HTTP是一個無連接、無狀態協議,不存在連接的概念,只有請求和響應的概念。而請求和響應實際上只是數據包,他們需要傳輸通道進行傳輸,而這個傳輸通道就是TCP創建的通道。那麼這個通道是如何創建的呢?就是通過TCP三次握手。
什麼是TCP三次握手?
TCP三次握手的流程如下所示:
從圖中可以看出,三次握手分為三步:
1.客戶端向服務端發送連接請求報文
2.服務端分配資源,並向客戶端發送確認報文
3.客戶端分配資源,並向服務端發送確認報文
但是,為什麼需要三次握手?因為網路帶寬擁有著很大的延時並且不穩定,經常會出現數據包延時到達甚至丟失的情況,而如果沒有了三次握手後兩步的確認步驟,會出現伺服器已經打開埠而客戶端一直不連接的情況。而三次握手可以解決這個問題。