Websocket原理概述

2021-06-08 23:11:52 字數 529 閱讀 1421

html5提供了websocket來支援瀏覽器與伺服器的全雙工通訊。

websocket在tcp之上定義了幀協議,從而能夠支援雙向的通訊。由於websocket本質上是乙個基於tcp的協議,在建立websocket連線前,瀏覽器或者其他客戶端需要向伺服器發起請求,伺服器解析請求後產生應答資訊返回給客戶端,由此客戶端與伺服器的websocket連線建立成功。客戶端和伺服器都可以通過這條連線主動傳遞資訊,直至某一方主動關閉連線。

websocket的握手過程主要有一下兩個步驟:

1.    websocket客戶端首先發起乙個連線請求。請求資料中包括伺服器的ip和埠、以及客戶端隨機生成的key等。

2.    伺服器端根據客戶端的key生成金鑰,並將金鑰返回給客戶端,握手成功。

由於websocket的連線本質是乙個tcp連線,所以與傳統的瀏覽器輪詢方式比,這種方式對於資料傳輸的穩定性和資料量大小方面都有一定的優勢。而很多實驗也證明在流量比較大的情況下,使用websocket也具有很大的效能優勢。

WebSocket實現原理

websocket同http和https一樣,屬於tcp基礎上的應用層的協議 因此其必然也是存在三次握手四次揮手的過程 一般來說,我們使用的http協議只能由客戶端發起請求,而服務端無法直接主動進行資料推送,這就導致了如果服務端有持續的變化 如聊天室 而客戶端獲取起來較為複雜 如實時性和服務端壓力等...

WebSocket通訊協議概述

websocket,即web瀏覽器與web伺服器之間全雙工通訊標準。全雙工 指的是不論客戶端還是伺服器端,任意一方都可以直接向對方傳送報文。由於是建立在http基礎上的協議,因此連線的發起方仍是客戶端。一旦web伺服器與客戶端之間建立起websocket協議的通訊連線,之後所有的通訊都是依靠這個專用...

websocket的通訊原理

1.websocket和http一樣是一種通訊協議,是html5的一種新的協議。2.既然有了http協議了,為什麼還會有websocket呢?是因為是為了彌補http的單向請求的缺陷的 http的請求只能由客戶端發起 建立在tcp協議之上,伺服器端的實現比較容易 2.和http協議有著良好的相容性,...