溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

HTML5中WebSocket協議的實現原理分析

發(fā)布時間:2022-04-27 15:58:19 來源:億速云 閱讀:124 作者:zzz 欄目:大數據

這篇文章主要介紹“HTML5中WebSocket協議的實現原理分析”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“HTML5中WebSocket協議的實現原理分析”文章能幫助大家解決問題。

WebSocket協議的目的是為了工作于現有的網絡基礎設施。作為這一設計原則的一部分,WebSocket連接的協議規(guī)范定義了一個HTTP連接作為其開始生命周期,進而保證其與pre-WebSocket世界的完全向后兼容。通常來說從HTTP協議切換WebSocket稱為WebSocket握手。

瀏覽器發(fā)送一個請求到服務器,這表明它想開關從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-Key: uRovscZjNol/umbTt5uKmw==
Upgrade: websocket
Sec-WebSocket-Version: 13


如果服務器理解WebSocket協議,它通過升級頭同意協議切換。

代碼如下:

HTTP/1.1 101 WebSocket Protocol Handshake
Date: 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-Credentials: true
Sec-WebSocket-Accept: rLHCkw/SKsO9GAH/ZSFhBATDKrU=
Access-Control-Allow-Headers: content-type


此時HTTP連接分解并取代了WebSocket連接在同一底層TCP / IP連接。WebSocket連接使用HTTP(80)和HTTPS端口一樣(443),默認情況下。

連接建立后,WebSocket數據幀可以發(fā)送客戶機和服務器之間來回在全雙工模式下。兩種文本和二進制幀可以在兩個方向同時發(fā)送。只有兩個字節(jié)數據最小陷害。對于文本幀,每一幀始于0 x00字節(jié),以0 xff字節(jié)結束,包含utf - 8數據。WebSocket文本框架使用一個終結者,而二進制幀使用前綴長度。

關于“HTML5中WebSocket協議的實現原理分析”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識,可以關注億速云行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI