一、建立連接是三次握手
為什么三次握手?前兩次握手為了確認服務端能正常收到客戶端的請求並願意應答,后兩次握手是為了確認客戶端能正常收到服務端的請求並願意應答。三次握手可以避免意外建立錯誤連接而導致浪費的情況,比如客戶端上一次連接的包延遲現在才到服務器,此時服務器發應答,客戶端此時不會發確認包,從而不會建立連接。
二、釋放四次揮手
因為TCP是全雙工(雙向數據傳輸)協議,前兩次揮手表示客戶端停止發送數據並得到服務端響應,此時可以從服務端單向發數據到客戶端,后兩次揮手表示服務端停止發送數據並得到客戶端的響應。此時客戶端有等待兩個最大報文時長,避免因為網絡原因,它的應答信息服務端沒有收到,服務端在超時后會再次發送停止發送數據請求,客戶端再次發送應答確認信息。
三、HTTPS通訊流程
1、客戶端發起請求到服務器,服務器返回包含自己公鑰的證書。
2、客戶端驗證證書無效則告警,有效則用其公鑰加密一個隨機產生的對稱加密的密鑰到服務器。
3、服務器用私鑰解密獲取對稱加密密鑰,兩邊進行加密數據通信。