WebSocket握手協議

2021-08-18 20:22:11 字數 1258 閱讀 5955

connection:keep-alive

客戶端:啦啦啦,有沒有新資訊(request)

服務端:沒有(response)

客戶端:啦啦啦,有沒有新資訊(request)

服務端:沒有。。(response)

客戶端:啦啦啦,有沒有新資訊(request)

服務端:你好煩啊,沒有啊。。(response)

客戶端:啦啦啦,有沒有新訊息(request)

服務端:好啦好啦,有啦給你。(response)

客戶端:啦啦啦,有沒有新訊息(request)

服務端:。。。。。沒。。。。沒。。。沒有(response) ---- loop

客戶端:啦啦啦,有沒有新資訊,沒有的話就等有了才返回給我吧(request)

服務端:額。。 等待到有訊息的時候。。來 給你(response)

客戶端:啦啦啦,有沒有新資訊,沒有的話就等有了才返回給我吧(request) -loop

資訊只能單向傳送為單工;

資訊能雙向傳送但不能同時雙向傳送稱為半雙工;

資訊能夠同時雙向傳送則稱為全雙工。

connection:upgrade #通知伺服器協議公升級

upgrade:websocket #協議公升級為websocket協議

host:

0.0.0

.0:9501

#公升級協議的服務主機:埠位址

sec-websocket-key:k8o1cnixo2pr6intidbsgg== #傳輸給伺服器的key

sec-websocket-version:13

#websocket協議版本13

如圖,我們看到websocket協議狀態碼是101.

connection:upgrade #協議公升級成功

sec-websocket-accept:gnoyh/ip/zmh+a5rx5p/yr6e68g= #服務端處理之後的key

sec-websocket-version:13

#websocket 協議版本號

upgrade:websocket#協議公升級為websocket

可以使用一些擴充套件來實現websocket客戶端。如php的swoole、workerman。

websocket 是什麼原理?為什麼可以實現持久連線?

Websocket協議之握手連線

websocket協議是為了解決web即時應用中伺服器與客戶端瀏覽器全雙工通訊的問題而設計的,是完全意義上的web應用端的雙向通訊技術,可以取代之前使用半雙工http協議而模擬全雙工通訊,同時克服了頻寬和訪問速度等的諸多問題。協議定義為ws和wss協議,分別為普通請求和基於ssl的安全傳輸,占用埠與...

Websocket請求握手流程

websocket 使用 ws 或 wss 的統一資源標誌符,類似於 https,其中 wss 表示在 tls 之上的 websocket。如 ws wss websocket 使用和 http 相同的 tcp 埠,可以繞過大多數防火牆的限制。預設情況下,websocket 協議使用 80 埠 執行...

WebSocket協議詳解

1.websocket 是什麼 websocket 是html5提出的乙個協議規範,參考rfc6455 websocket,通過乙個握手的機制,客戶端 瀏覽器 和伺服器 webserver 之間建立乙個tcp連線,從而方便c s之間的通訊。在websocket出現之前 web互動一般是基於 http...