由于
http存在一个明显的弊端(消息只能有客户端推送到服务器端,而服务器端不能主动推送到客户端),导致如果服务器如果有连续的变化,这时只能使用轮询,而轮询效率过低,并不适合。于是WebSocket被发明出来
相比与
http具有以下有点
- 支持双向通信,实时性更强;
- 可以发送文本,也可以二进制文件;
- 协议标识符是
ws,加密后是wss; - 较少的控制开销。连接创建后,
ws客户端、服务端进行数据交换时,协议控制的数据包头部较小。在不包含头部的情况下,服务端到客户端的包头只有2~10字节(取决于数据包长度),客户端到服务端的的话,需要加上额外的4字节的掩码。而HTTP协议每次通信都需要携带完整的头部; - 支持扩展。ws协议定义了扩展,用户可以扩展协议,或者实现自定义的子协议。(比如支持自定义压缩算法等)
- 无跨域问题。
实现比较简单,服务端库如
socket.io、ws,可以很好的帮助我们入门。而客户端也只需要参照api实现即可

本文探讨了WebSocket的诞生背景,强调其相较于HTTP的显著优势,如双向通信、低延迟、文本与二进制支持、协议扩展和无跨域限制。通过介绍WebSocket在服务端和客户端的实现,以及Socket.io和ws库的作用,揭示了其在实时应用中的高效性。
783

被折叠的 条评论
为什么被折叠?



