WebSocket 是一種協議,允許瀏覽器(客戶端)和伺服器之間建立雙向、持久的通信連接。適合用於即時通訊,因為連接首次建立後就保持打開狀態,客戶端和服務器可以隨時互相發送數據,實現即時通訊。
雙向通信:
建立連接後,瀏覽器和伺服器之間可以互相發送數據,實現即時通訊。與 HTTP 不同,HTTP 是需要請求和回應,即使在 HTTP/1.1 中有持久連接和 HTTP/2 支持多路複用,依然需要先發送請求。但是 WebSocket 可以在瀏覽器或伺服器上持續發送數據,無需先發起請求。
持久連接:
首次建立連接後,WebSocket 保持開放狀態,除非主動關閉,否則連接不會斷開。這非常適合需要長時間保持通信的應用場景,例如聊天室等。
減少延遲:
WebSocket 通過保持連接的開放,減少了每次通信時重新建立連接的延遲,從而能更高效地進行即時通訊。
節省資源:
由於 WebSocket 的持久連接特性,降低了頻繁建立和關閉連接的開銷,特別是在頻繁的消息交換情況下能顯著節省資源。
即時聊天應用:
WebSocket 最常見的應用之一是實現聊天室功能,雙向通信允許即時消息傳遞。
即時數據流:
廣泛用於股票市場、加密貨幣交易等領域,用來推送即時的數據更新,確保用戶隨時獲得最新數據。
多人協作應用:
協作編輯工具(例如:Google Docs)利用 WebSocket 實現多人即時編輯和圖像協作,確保所有用戶的變更能夠同步顯示。
即時通知:
用於推送即時系統通知、遊戲狀態更新和在線用戶狀態等場景。