HTML5 的 WebSocket 是一种在单个 TCP 连接上进行全双工通讯的协议。它允许客户端和服务器之间建立持久的连接,从而实现双向数据传输。与传统的 HTTP 请求-响应模式不同,WebSocket 允许服务器主动向客户端推送数据,而无需客户端发起请求。这种机制特别适用于需要实时通信的应用场景,如聊天应用、在线游戏、实时数据更新等。
从词源角度来说,“WebSocket”这个词由两部分组成:“Web”和“Socket”。“Web”表示它是在 Web 环境中使用的,“Socket”则源自计算机网络中的“套接字”概念,指的是网络通信的端点。因此,WebSocket 可以理解为“Web 环境下的套接字”,它提供了一种在浏览器和服务器之间建立持久连接的方式,使得数据可以双向流动。
WebSocket 的主要优势在于其低延迟和高效的数据传输能力。它通过一次 HTTP 握手建立连接后,后续的数据交换不再需要重复发送 HTTP 请求头,从而减少了带宽消耗和延迟。此外,WebSocket 支持全双工通信,这意味着客户端和服务器可以同时发送和接收数据。
总的来说,WebSocket 是 HTML5 中用于实现实时双向通信的关键技术,它弥补了传统 HTTP 协议在实时性方面的不足。