谈谈对 websocket 的理解?
本文参与了SegmentFault 思否面试闯关挑战赛,欢迎正在阅读的你也加入。
WebSocket 是一种在客户端和服务器之间建立双向通信通道的协议,它允许服务器实时推送数据到客户端,同时也允许客户端向服务器发送数据,而无需进行多次 HTTP 请求。
WebSocket 协议的工作方式是,在客户端和服务器之间建立一条 TCP 连接,然后通过握手协议进行协商,建立双向通信通道。一旦建立连接,客户端和服务器之间就可以互相发送消息,数据包以二进制形式进行传输,不需要 HTTP 的请求和响应头,可以大幅度减少通信数据量和延迟。
WebSocket 通常用于实时性要求较高的应用场景,例如在线聊天、在线游戏、实时交易等。WebSocket 的优点包括实时性好、通信效率高、兼容性好等,但是需要注意安全性和稳定性的问题,例如需要防范跨站脚本攻击和网络中断等情况。
10 回答11.1k 阅读
15 回答8.4k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
WebSocket 本质上是一种计算机网络【应用层】的协议,用来弥补【 http 协议】在【持久通信】和【非真正全双工通信(请求-响应)】方面的不足
WebSocket 作为 HTML5 规范的一部分,得到了所有主流浏览器的支持,同时还兼容了 HTTP 协议,默认使用 HTTP 的 80 端口 和 443 端口,可使用 HTTP header 进行协议升级
WebSocket 出现的原因:
特点: