目录
什么是WebSocket
WebSocket在服务器和客户端之间提供低延迟、全双工和长期运行的连接。
全双工:通信的两个参与方可以同时发送和接收数据,不需要等待对方的响应或传输完成。通过建立全双工的持久连接,客户端和服务器之间就能实现高效实时性更强的通信。WebSocket的出现就是为了解决实时通信的问题。
WebSocket出现之前都是采用什么方式达到实时通信
服务器主动发送消息给客户端,一般采用网页前端不定时发送HTTP请求到服务器。
WebSocket优势
允许客户端和服务器之间通过单个TCP连接进行双工通信,并且进行实时的数据交换
如何建立WebSocket连接
浏览器在TCP经过三次握手后建立连接之后,统一使用HTTP协议进行通信。如果是普通HTTP请求,双方还是继续使用HTTP协议进行交互。如果想建立WebSocket连接,需要通过HTTP发送一次常规的Get请求,并在请求头中带上upgrade,告诉服务器想要升级协议 ,同时带上一段随机生成的base64码发给服务器。如果服务器支持升级,就会走WebSocket握手流程(两次),根据客户端生成的base64码,用公开的算法变成另一段字符串,放在HTTP响应的sec-WebSocket-Accept头里,同时带上101状态码(协议切换),发回给浏览器。
为什么需要心跳机制?
什么是心跳机制?
WebSocket的限制