Home Blogs Edgio提供對WebSockets的支援
Applications

Edgio提供對WebSockets的支援

About The Author

Outline

低延遲應用程式通常需要比HTTP提供的通信方式更快。 示例包括多人線上遊戲或聊天應用程式,這些應用程式需要實時交互通信,以提供正確的用戶體驗。 WebSockets是一種實時通信協議,可在客戶端和伺服器之間實現開放,連續的雙向連接。 這樣就可以將數據發送到客戶端(即瀏覽器),即使客戶端不必請求數據。 使用HTTP協議時,伺服器僅在客戶端發送請求時響應。

金融機構是WebSockets的另一個使用案例 。 最近,我們與北美一家主要銀行合作,使用WebSocket協議爲其原始伺服器建立開放連接,以便在交易進行時,無需客戶端輪詢即可發送實時通知。

WebSocket協議如何工作?

WebSocket連接作爲常規HTTP連接開始。 要建立WebSocket連接,客戶端和伺服器在初始握手期間從HTTP協議升級到WebSocket協議(此協議開關稱爲WebSocket握手)。 要啓動此升級,客戶端使用以下標頭向伺服器發送請求:

  • 連接:升級–表示客戶端想要更改協議

  • 升級:WebSocket–表示請求的協議爲“WebSocket”

如果伺服器瞭解WebSocket協議並同意交換機,它會發送一個特殊的響應代碼:101 (交換協議),具有相同的兩個報頭。 此時,HTTP連接將替換爲通過同一底層TCP/IP連接的WebSocket連接。 建立後,WebSocket數據幀可以在客戶端和伺服器之間以全雙工模式來回發送,直到一端關閉連接。

WebSockets相對於HTTP的主要優點包括:

  1. 持久連接:客戶端無需頻繁地重新啓動連接檢查新數據。

  2. 延遲更低:WebSockets使用的開銷最小。 由於存在連續連接,因此不再需要發送與HTTP請求(如標題和其他資訊)相關的正常開銷,從而減少了延遲。

  3. 全雙工通信:WebSockets提供伺服器和客戶端之間的雙向通信,以便雙方可以同時通信和交換數據。 EdgeCast (現爲Edgio)很高興在我們的全球交付網路中爲WebSocket協議提供支援。 隨着我們進入物聯網和邊緣計算時代,WebSocket協議將使希望在邊緣提供低延遲應用程式的公司受益。