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套接字連接通過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
上一篇:
為什麼需要Websocket?
下一篇:
WebSocket實現