全部產品
Search
文件中心

Server Load Balancer:WebSocket和WebSocket Secure協議概述

更新時間:Feb 28, 2024

本文介紹WebSocket和WebSocket Secure協議相關的簡介。

什麼是WebSocket?

WebSocket是HTML5一種新的協議,它實現了瀏覽器與伺服器全雙工系統(full-duplex)通訊,能更好地節省伺服器資源和頻寬並達到即時通訊。WebSocket建立在TCP之上,同HTTP一樣通過TCP來傳輸資料,但是它和HTTP最大不同是:WebSocket是一種雙向通訊協定,在建立串連後,WebSocket伺服器和Browser/Client Agent都能主動地向對方發送或接收資料,就像Socket一樣;WebSocket需要類似TCP的用戶端和伺服器端通過握手串連,串連成功後才能相互連信。

WebSocket Secure是WebSocket的加密版本。

為何使用WebSocket?

隨著互連網的蓬勃發展,各種類型的Web應用程式層出不窮,很多應用要求服務端有能力進行即時推送(例如直播間聊天室),以往很多網站為了實現推送技術,所用的技術都是輪詢。輪詢是在特定的時間間隔(如每1秒),由瀏覽器對伺服器發出HTTP請求,然後由伺服器返回最新的資料給用戶端的瀏覽器。這種傳統的模式帶來很明顯的缺點,即瀏覽器需要不斷地向伺服器發出請求,然而HTTP請求可能包含較長的頭部,其中真正有效資料可能只是很小的一部分,顯然這樣會浪費很多的頻寬資源。

在這種情況下,HTML5定義了WebSocket協議,能更好地節省伺服器資源和頻寬,並且能夠更即時地進行通訊。WebSocket實現了瀏覽器與伺服器全雙工系統通訊,允許伺服器主動發送資訊給用戶端。

WebSocket協議的互動過程如下圖所示。

WS協議互動過程

如何在阿里雲負載平衡上啟用WebSocket和WebSocket Secure支援?

  • HTTP監聽預設支援WebSocket協議。

  • HTTPS監聽預設支援WebSocket Secure協議。

支援的地區

全部地區都已開放WebSocket和WebSocket Secure支援。

相關計費

WebSocket和WebSocket Secure協議不額外收取費用。

使用限制

WebSocket和WebSocket Secure協議的使用限制如下:

  • 若負載平衡與ECS後端服務的串連採用HTTP/1.1,建議後端伺服器採用支援HTTP/1.1的Web Server。

  • 若負載平衡與後端服務超過60秒無訊息互動,會主動中斷連線,如需要維持串連一直不中斷,需要主動實現保活機制,每60秒內進行一次報文互動。