WebSocket是浏览器与服务器间持久化双向通信通道,通过HTTP升级机制建立连接,实现低延迟、低开销的实时消息收发,需注意协议格式、服务端支持、兼容性及心跳保活。

WebSocket 是浏览器与服务器之间建立的持久化双向通信通道,不是 HTTP 请求响应模式,而是像打电话一样可以随时互相发消息。 它解决了传统轮询(如 setInterval 发 AJAX)带来的延迟高、连接开销大、服务器压力重等问题,是真正意义上的实时通信基础。
为什么需要 WebSocket?
HTTP 协议本身是无状态、单向、短连接的:客户端发请求,服务器回响应,连接立刻断开。想让服务器“主动推”数据(比如聊天新消息、股价变动、游戏动作),只能靠客户端不停问(轮询),或者用长轮询(服务端卡住响应直到有数据)。这些方式都浪费资源、有延迟、难维护。WebSocket 一次握手升级协议后,双方就能随时发消息,低延迟、低开销、真双向。
WebSocket 如何建立连接?
它基于 HTTP 升级(Upgrade)机制启动:
- 客户端用 new WebSocket('ws://example.com') 发起连接
- 浏览器自动发送一个带 Upgrade: websocket 头的 HTTP 请求
- 服务器识别后,返回 101 Switching Protocols 响应,完成协议切换
- 之后所有通信走 WebSocket 帧格式,不再经过 HTTP 解析
怎么收发实时消息?
连接建立后,通过事件和方法直接交互:
标签: javascript python java android js node.js ajax node 防火墙 浏览器
还木有评论哦,快来抢沙发吧~