WebSocket
# 什么是WebSocket?
全双工:双方都可以主动向对方发送数据;(TCP)
半双工:客户端和服务端只能有一方主动发数据;(HTTP/1.1)
WebSocket用于客户端和服务端都要互相主动发大量数据的场景,基于TCP的新协议WebSocket就被设计出来;
# 如何建立WebSocket连接?
在HTTO请求里带上特殊的header头;
Connection: Upgrade Upgrade: WebSocket Sec-WebSocket-Key: T2a6wZlAwhgQNqruZ2YUyg==\r\n
1
2
3header 头的意思是,浏览器想升级协议(Connection: Upgrade),并且想升级成 WebSocket 协议(Upgrade: WebSocket)。同时带上一段随机生成的 base64 码(Sec-WebSocket-Key),发给服务器;