Websocket功能


Web Socket代表了Web通訊歷史上的一次重大升級。在它存在之前,Web用戶端和伺服器之間的所有通訊僅依賴於HTTP。

Web Socket有助於動態流動持久全雙工的連線。全雙工是指來自兩端的通訊具有相當快的速度。

它是遊戲規則改變者,因為它克服了現有協定的所有缺點。

面向開發人員和架構師的Web通訊端

Web Socket對開發人員和架構師的重要性 -

  • Websocket是一種獨立的基於TCP的協定,但它旨在支援傳統上僅在純TCP連線之上執行的任何其他協定。
  • Websocket是一個傳輸層,其上可以執行任何其他協定。Websocket API支援定義子協定的能力:可以解釋特定協定的協定庫。
  • 此類協定的範例包括XMPP,STOMP和AMQP。開發人員不再需要考慮HTTP請求 - 響應範例。
  • 瀏覽器端唯一的要求是執行一個JavaScript庫,它可以解釋Websocket握手,建立和維護Websocket連線。
  • 在伺服器端,行業標準是使用在TCP之上執行的現有協定庫並利用Web通訊端閘道器。

下圖描述了Web通訊端的功能 -

Web套接字的功能

Web通訊端連線通過HTTP啟動; HTTP伺服器通常將Web Socket握手解釋為升級請求。

Web通訊端既可以作為現有HTTP環境的補充附件,也可以提供新增Web功能所需的基礎結構。它依賴於更先進的全雙工協定,允許資料在用戶端和伺服器之間雙向流動。

Web通訊端的功能
Web通訊端在Web伺服器和用戶端之間提供連線,以便雙方都可以開始傳送資料。
建立Web Socket連線的步驟如下 -

  • 用戶端通過稱為Web Socket握手的進程建立連線。
  • 該過程從用戶端向伺服器傳送常規HTTP請求開始。
  • 請求升級檔頭。在此請求中,它通知伺服器該請求是針對Web Socket連線的。
  • Web Socket URL使用ws方案。它們還用於安全的Web Socket連線,它們等同於HTTP。

初始請求檔頭的一個簡單範例如下 -

GET ws://websocket.example.com/ HTTP/1.1
Origin: http://example.com
Connection: Upgrade
Host: websocket.example.com
Upgrade: websocket