📄 Network Protocols
1. Please describe TCP、HTTP、HTTPS、WebSocket
-
TCP (傳輸控制協議): TCP 是一種可靠的、面向連接的協議,用於在網際網路上的兩台計算機之間可靠地傳送數據。它保證了數據包的順序和可靠性—這意味著無論網絡條件如何,數據都會完整無缺地抵達目的地。
-
HTTP (超文本傳輸協議): HTTP 是用於傳遞超文本(即網頁)的協議。它建立在 TCP 協議之上,提供了一種讓瀏覽器和伺服器通信的方式。HTTP 是無狀態的,這意味著伺服器不會保存任何有關用戶的信息。
-
HTTPS (安全超文本傳輸協議): HTTPS 是 HTTP 的安全版本。它通過 SSL/TLS 協議加密 HTTP 數據傳輸,保護交換數據的安全,防止中間人攻擊,從而確保數據的私密性和完整性。
-
WebSocket: WebSocket 協議提供了一種在用戶端和伺服器之間建立持久連接的方式,使得雙方可以在建立連接後進行實時、雙向的數據傳輸。這與傳統的 HTTP 請求不同,在傳統的 HTTP 請求中,每個傳輸都需要建立一個新的連接。WebSocket 更適合即時通訊和需要快速數據更新的應用程序。
2. What is Three Way Handshake?
三次握手是指在 TCP/IP
的網路中,server 端和 client 端之間建立連接的過程。在過程中會經歷三個步驟,來確認雙方的接受和發送能力都正常,同時也要透過初始序列號(ISN)來確保資料的同步和安全性。