WebSocket有什么优点

websocket是一种在单个tcp连接上进行全双工通信的协议。websocket通信协议于2011年被ietf定为标准rfc 6455,并由rfc7936补充规范。websocket api也被w3c定为标准。html5开始提供websocket协议的支持。
websocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在websocket api中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。
websocket连接过程
客户端通过http协议向服务端发送握手,服务端向客户端返回ack,此时握手成功,建立连接并维持该连接;
后面服务端和客户端就可以基于建立的连接进行双向通信,直到连接关闭。
2. websocket与http对比
http websocket
通信方式 单工 全双工
端口 80/443 80/443
协议 http/https ws/wss
跨域问题 有 无
网络开销 - 较小
优点
较少的控制开销。在连接创建后,服务器和客户端之间交换数据时,用于协议控制的数据包头部相对较小。在不包含扩展的情况下,对于服务器到客户端的内容,此头部大小只有2至10字节(和数据包长度有关);对于客户端到服务器的内容,此头部还需要加上额外的4字节的掩码。相对于http请求每次都要携带完整的头部,此项开销显著减少了。
更强的实时性。由于协议是全双工的,所以服务器可以随时主动给客户端下发数据。相对于http请求需要等待客户端发起请求服务端才能响应,延迟明显更少;即使是和comet等类似的长轮询比较,其也能在短时间内更多次地传递数据。
保持连接状态。与http不同的是,websocket需要先创建连接,这就使得其成为一种有状态的协议,之后通信时可以省略部分状态信息。而http请求可能需要在每个请求都携带状态信息(如身份认证等)。
更好的二进制支持。websocket定义了二进制帧,相对http,可以更轻松地处理二进制内容。
可以支持扩展。websocket定义了扩展,用户可以扩展协议、实现部分自定义的子协议。如部分浏览器支持压缩等。
更好的压缩效果。相对于http压缩,websocket在适当的扩展支持下,可以沿用之前内容的上下文,在传递类似的数据时,可以显著地提高压缩率。

浅谈智能箱式变电站的功能
以信息技术“点亮”未来能源,迈威通信携光储通信系统解决方案出击SNEC
ZLG致远电子基于LoRa推出无线低功耗网络协议
光纤连接器的性能特点、损耗和衰减
适用于智慧银行的音视频系统整体解决方案
WebSocket有什么优点
四足机器人将是产业下一个爆发点?
给SiC FET设计PCB有哪些注意事项?
静电计级运算放大器ADA4530-1的性能及应用
EOS基础公链与以太坊和比特币的对比分析
使用多个中断的 RX 系列微控制器
dc插座是什么_dc插座技术指标_dc插座应用
旋进旋涡流量计的工作原理是什么?存在哪些问题?
力传感器市场到2024年或增长到23亿美元
非易失性存储器组件的替换规则
直面5G应用挑战 ADI射频微波技术趋向系统集成生态化
改进的LDO吸收PECL端接电流
土壤养分快速测试仪主机是什么,它有哪些作用
能量收集系统设计,MPPT算法以及MCU总控制系统设计流程图
「科普贴」蓝牙的5.0远距离是怎么实现的?