WEBSOCKET简单了解

前言

WebSocket是一种在单个TCP连接上进行全双工通信的协议

1.为什么使用WebSocket

在很多情况下,服务器需要向客户端主动推送消息。一种方案是使用轮询,在特定的时间间隔内,由浏览器主动向服务器发送请求,然后服务器返回最新的数据。这种传统的模式有明显的缺点,浏览器需要不停的向服务器发送请求,每次HTTP请求又包含较长的头部,数据的更新必须要浏览器拿到返回值才能知道,这样必然会浪费很多的带宽资源,而WebSocket在建立连接后即可进行双向通信,服务器可以主动推送更新到客户端,减少了不必要的服务器资源和带宽浪费。

2.WebSocket的特点

  1. WebSocket的最大特点是,浏览器与服务器建立通信后,链接可以长时间保存,服务器可以主动的推送消息到浏览器,是全双工通信。
  2. WebSocket借助了HTTP协议来完成了一部分握手。在WebSocket通信中,通过HTTP协议的101状态码进行握手。请求头中Connection:的属性值为Upgrade,Upgrade属性值为websocket。
  3. 连接是有状态的,建立连接后,后续的通信可以省略很多认证信息

3.WebSocket的优点

  1. 较小的控制开销。在连接创建后,服务器和客户端之间交换数据时,用于协议控制的数据包头部较小
  2. 更强的实时性。由于协议是全双工的,所以服务器可以随时主动给客户端发送数据
  3. 是一种有状态的连接。因为连接一旦建立后就可以保存较长时间,所以不需要每次都携带身份信息进行认证
上一篇:性能进阶:使用JMeter进行websocket测试【建议收藏】


下一篇:小学生都能读懂的网络协议之:WebSocket