【Web前端基础】websocket通信原理是什么

2021-02-03 10:07发布

7条回答
征戰撩四汸
2022-06-09 14:37

     WebSocket 连接允许客户端和服务器之间进行全双工通信,以便任一方都可以通过建立的连接将数据推送到另一端。WebSocket 只需要建立一次连接,就可以一直保持连接状态。Websocket是为了弥补http的单向请求的缺陷的(http的请求只能由客户端发起)。HTTP 协议做不到服务器主动向客户端推送信息。


     websocket的握手阶段通过http协议。


GET /chat HTTP/1.1

Host: server.example.com

Upgrade: websocket

Connection: Upgrade

Sec-WebSocket-Key: x3JJHMbDL1EzLkh9GBhXDw==

Sec-WebSocket-Protocol: chat, superchat

Sec-WebSocket-Version: 13

Origin: http://example.com


然后服务器会返回下列东西,表示已经接受到请求, 成功建立Websocket啦!


HTTP/1.1 101 Switching Protocols

Upgrade: websocket

Connection: Upgrade

Sec-WebSocket-Accept: HSmrc0sMlYUkAGmm5OPpG2HaGWk=

Sec-WebSocket-Protocol: chat

建立连接后就可以进行数据传输了,数据传输采用tcp协议。websocket通过http建立连接之前会进行tcp的三次握手。



一周热门 更多>