首頁 > web前端 > H5教程 > HTML5實作WebSocket協定原理淺析_html5教學技巧

HTML5實作WebSocket協定原理淺析_html5教學技巧

WBOY
發布: 2016-05-16 15:47:34
原創
1287 人瀏覽過

WebSocket協定的目的是為了工作於現有的網路基礎設施。作為此設計原則的一部分,WebSocket連接的協議規範定義了一個HTTP連接作為其開始生命週期,進而保證其與pre-WebSocket世界的完全向後兼容。通常來說從HTTP協定切換WebSocket稱為WebSocket握手。

瀏覽器發送一個請求到伺服器,這表示它想開關從HTTP WebSocket協定。客戶端透過升級標題表達的願望,程式碼如下所示:


複製程式碼
程式碼如下:
GET ws://echo.websocket.org/? encoding=text HTTP/1.1
Origin: http://websocket.org
Cookie: __utma=99as
Connection: Upgrade
Host: echo.websocket.org
Sec-WebSocket-Sec-WebSocket-Sec-WebSocket : uRovscZjNol/umbTt5uKmw==
Upgrade: websocket
Sec-WebSocket-Version: 13


如果伺服器理解WebSocket協定,它透過升級頭同意協定切換。


複製程式碼
程式碼如下:
HTTP/1.1 101 WebSocket. Fri, 10 Feb 2012 17:38:18 GMT
Connection: Upgrade Server: Kaazing Gateway
Upgrade: WebSocket
Access-Control-Allow-Origin: http://websocket.org
Access-Control-Allow-Origin: http://websocket.org
Access-🎜-🎜-🎜> Control-Allow-Credentials: true
Sec-WebSocket-Accept: rLHCkw/SKsO9GAH/ZSFhBATDKrU=
Access-Control-Allow-Headers: content-type


此時HTTP連線分解並取代了WebSocket連線在同一底層TCP / IP連線。 WebSocket連線使用HTTP(80)和HTTPS連接埠一樣(443),預設情況下。

連線建立後,WebSocket資料幀可以傳送客戶機和伺服器之間來回在全雙工模式下。兩種文字和二進位幀可以在兩個方向同時發送。只有兩個位元組資料最小陷害。對於文字幀,每一幀始於0 x00位元組,以0 xff位元組結束,包含utf - 8資料。 WebSocket文字框架使用一個終結者,而二進位訊框使用前綴長度。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板