WebSocket

目录

什么是WebSocket        

WebSocket出现之前都是采用什么方式达到实时通信

WebSocket优势​编辑

如何建立WebSocket连接

为什么需要心跳机制?​编辑

什么是心跳机制? ​编辑

 WebSocket的限制​编辑


什么是WebSocket        

WebSocket在服务器和客户端之间提供低延迟、全双工和长期运行的连接。

        全双工:通信的两个参与方可以同时发送和接收数据,不需要等待对方的响应或传输完成。通过建立全双工的持久连接,客户端和服务器之间就能实现高效实时性更强的通信。WebSocket的出现就是为了解决实时通信的问题。WebSocket_第1张图片

WebSocket出现之前都是采用什么方式达到实时通信

 服务器主动发送消息给客户端,一般采用网页前端不定时发送HTTP请求到服务器。WebSocket_第2张图片

WebSocket优势WebSocket_第3张图片

 允许客户端和服务器之间通过单个TCP连接进行双工通信,并且进行实时的数据交换

如何建立WebSocket连接

        浏览器在TCP经过三次握手后建立连接之后,统一使用HTTP协议进行通信。如果是普通HTTP请求,双方还是继续使用HTTP协议进行交互。如果想建立WebSocket连接,需要通过HTTP发送一次常规的Get请求,并在请求头中带上upgrade,告诉服务器想要升级协议 ,同时带上一段随机生成的base64码发给服务器。如果服务器支持升级,就会走WebSocket握手流程(两次),根据客户端生成的base64码,用公开的算法变成另一段字符串,放在HTTP响应的sec-WebSocket-Accept头里,同时带上101状态码(协议切换),发回给浏览器。

为什么需要心跳机制?WebSocket_第4张图片

什么是心跳机制? WebSocket_第5张图片

 WebSocket的限制WebSocket_第6张图片

  

你可能感兴趣的:(计算机网络,websocket,网络协议,网络)