WebSocket 是适用于 Web 应用的下一代全双工通讯协议,被称之为 web 中的 TCP,并且已经成为 Web 应用草案1.0的一部分。由于使用了 Ajax 技术,所以 WebSocket 协议比传统的 HTTP 协议效率更高,也就更适合实时以及动态的 web 应用。此外 WebSocket 还提供了一个非常简单的可以使浏览器以及服务器双向通讯的 API,开发类似的 web 应用异常轻松。Google 最早在 WebKit 和 Chrome 中引入的 WebSocket 是基于 draft-hixie-thewebsocketprotocol-75 的版本,早期的开发者已经在使用支持 WebSocket 的 Chrome 浏览器尝试开发应用。
根据用户社区的反馈,WebSocket 标准已经更新到 draft-ietf-hybi-thewebsocketprotocol-00 (或者叫 draft-hixie-thewebsocketprotocol-76)。这个版本放松了对于握手消息的要求,可以更容易的和 HTTP 库协同工作。另外这个版本还引入了基于随机数的口令-应答,以确保用户免遭跨协议攻击的伤害。这些变化造成了新版的 WebSocket 不能和老版本兼容,使用 75 版本的客户端无法和使用 76 版本的服务器端通讯,反之亦然。
开发者们需要注意的是,从 WebKit nightly build r59903 以及 Chrome 6.0.414.0 (r47952) 开始,客户端将使用 76 版本的 WebSocket 协议和服务器通讯,如果你的服务器还在运行 75 版本的话,将会发生通讯失败的现象。由于 75 版本将很快将被新的浏览器放弃支持,所以尽快将服务器端的 WebSocket 升级到 76 版本是非常必要的。