WebSocket協議介紹

2022-09-08 15:06:16 字數 1049 閱讀 2058

websocket,即web瀏覽器與web伺服器之間全雙工通訊標準,其中,websocket協議由ietf定位標準,websocket api由w3c定位標準。

一旦web伺服器與客戶端之間建立起websocket協議的通訊連線,之後所有的通訊都依靠這個專用協議進行。通訊過程中互相傳送json、xml、html或等任意格式的資料。

由於是建立在http基礎上的協議,因此連線的發起發仍是客戶端,而一旦確立websocket通訊連線,不論伺服器還是客戶端,任意一方都可直接向對方傳送報文。

推送功能:支援由伺服器向客戶端推送資料的推送功能。這樣,伺服器可直接傳送資料,而不必等待客戶端的請求。

減少通訊量:只要建立起websocket連線,就希望一直保持連線狀態。和http相比,不但每次連線時的總開銷減少,而且由於websocket的首部資訊很少,通訊量也相應減少了。為了實現websocket通訊,在http連線建立之後,需要完成一次「握手」的步驟。

握手過程:

請求:為了實現websocket通訊,需要用到http的upgrade首部字段,告知伺服器通訊協議發生改變,以達到握手的目的。  形如:upgrade:websocket;同時sec-websocket-key 欄位內記錄著握手過程中必不可少的鍵值,形如sec-websocket-key:dghlihnhbxbszsbub25jzq==;sec-websocket-protocol記錄使用的子協議。形如:sec-websocket-protocol:chat,superchat。

響應:對於之前的請求,返回狀態碼101 switching protocols 的響應。sec-websocket-accept的字段值是由握手請求中的sec-websocket-key的字段值生成的。形如:sec-websocket-accept:上pplmbitxaq9kygzzhzzrbk+xoo= ;成功握手確立websocket連線之後,通訊時不再使用http的資料幀,而採用websocket獨立的資料幀。

WebSocket握手協議

connection keep alive 客戶端 啦啦啦,有沒有新資訊 request 服務端 沒有 response 客戶端 啦啦啦,有沒有新資訊 request 服務端 沒有。response 客戶端 啦啦啦,有沒有新資訊 request 服務端 你好煩啊,沒有啊。response 客戶端 啦...

WebSocket協議詳解

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

webSocket實時傳輸協議

公司的慣例是每週五都會有乙個分享會,內容大概是前端,後台,軟體思想,工具使用,設計等,大家坐在一起聽一聽,說一說,交流一下。這次是我給大家講websocket傳輸協議。最初對websocket的印象是 它是一種實時的,用於網上實時聊天。例如qq.那麼,websocket是什麼東西?真實時?那底層是不...