WebSocket 原理与机制

120 阅读1分钟

websocket是H5规范中的一个部分,借鉴了socket思想,是基于TCP协议,是一种新的应用层协议,为web客户端与服务端提供了一种全双工通信机制。 既然基于浏览器的web技术,那么就少不了http,具体讲,我们在客户端构建一个websocket实例,为它绑定到一个需要连接到的服务端地址,当客户端向服务端发送一个类似下面的HTTP报文,可以看到报文中有个Upgrade首部,它的作用是告诉服务端将通信协议切换到websocket,如果服务端支持websocket协议,同时会发送客户端一下响应报文头 image.png

并返回状态码为101,表示同意客户端转换请求,并将它转换为websocket协议,以上就是websocket协议握手,握手后,双方就会进行数据传输通信,webSocket支持两种传输方式,分别是二进制传输和文本传输

心跳机制

心跳主要作用是防止NAT超时,其次是探测连接是否断开