
- WebSockets 教程
- WebSockets – 首頁
- WebSockets 簡介
- WebSockets – 概述
- WebSockets - 雙向通訊
- WebSockets – 功能
- WebSockets – 實現
- WebSockets 角色
- WebSockets – 事件和操作
- WebSockets – 開啟連線
- WebSockets – 處理錯誤
- WebSockets - 傳送和接收訊息
- WebSockets – 關閉連線
- JavaScript & WebSockets API
- WebSocket - 伺服器工作原理
- WebSocket - API
- WebSockets – JavaScript 應用
- WebSockets 實現
- 與伺服器通訊
- WebSockets – 安全性
- WebSockets – 移動應用
- WebSockets 有用資源
- WebSockets – 快速指南
- WebSockets – 有用資源
- WebSockets – 討論
WebSockets - 功能
Web Socket 代表著網路通訊歷史上的一項重大升級。在其出現之前,Web 客戶端和伺服器之間所有的通訊都僅依賴於 HTTP。
Web Socket 有助於實現永續性全雙工連線的動態流動。全雙工指的是雙方以相當快的速度進行通訊。
由於其克服了現有協議所有缺點的效率,它被稱為遊戲規則的改變者。
面向開發者和架構師的 Web Socket
Web Socket 對開發者和架構師的重要性 -
Web Socket 是一種獨立的基於 TCP 的協議,但它被設計為支援任何其他協議,而這些協議傳統上只能在純 TCP 連線之上執行。
Web Socket 是一個傳輸層,任何其他協議都可以在其之上執行。Web Socket API 支援定義子協議的能力:可以解釋特定協議的協議庫。
此類協議的示例包括 XMPP、STOMP 和 AMQP。開發者不再需要以 HTTP 請求-響應正規化進行思考。
瀏覽器端唯一的需求是執行一個可以解釋 Web Socket 握手、建立和維護 Web Socket 連線的 JavaScript 庫。
在伺服器端,行業標準是使用在 TCP 之上執行並利用 Web Socket 閘道器的現有協議庫。
下圖描述了 Web Sockets 的功能 -

Web Socket 連線是透過 HTTP 發起的;HTTP 伺服器通常將 Web Socket 握手解釋為升級請求。
Web Sockets 可以作為現有 HTTP 環境的補充外掛,也可以提供新增 Web 功能所需的架構。它依賴於更高階的全雙工協議,允許資料在客戶端和伺服器之間雙向流動。
Web Sockets 的功能
Web Sockets 在 Web 伺服器和客戶端之間提供連線,以便雙方都可以開始傳送資料。
建立 Web Socket 連線的步驟如下 -
客戶端透過稱為 Web Socket 握手的過程建立連線。
該過程從客戶端向伺服器傳送常規 HTTP 請求開始。
請求升級標頭。在此請求中,它通知伺服器請求是用於 Web Socket 連線的。
Web Socket URL 使用 ws 方案。它們也用於安全的 Web Socket 連線,相當於 HTTPs。
初始請求標頭的簡單示例如下 -
GET ws://websocket.example.com/ HTTP/1.1 Origin: http://example.com Connection: Upgrade Host: websocket.example.com Upgrade: websocket