F5 术语

WebSocket

WebSocket 是互联网上使用的通信协议之一。 它支持 Web 服务器和客户端之间的双向通信。 该协议由互联网工程任务组 (IETF) 定义为“RFC 6455”。

网络最初设计用于支持超文本,但后来逐渐发展为支持更动态的网络应用。 实现此目的的常用技术是 AJAX(异步 JavaScript 和 XML),它使用 XMLHttpRequest 来促进与 Web 服务器的细粒度数据交换,而不是页面级更新。 这可以提供更灵敏的用户体验。 然而,在AJAX中,所有的数据交换都必须从客户端发起,这使得Web服务器很难主动将数据推送到客户端。

为了解决这一限制,Comet 作为 AJAX 的扩展而开发。Comet 的工作原理是“故意创建延迟响应的请求”,保持与 Web 服务器的 HTTP 连接处于打开状态,以便服务器可以在需要推送信息时发送响应。 然而Comet存在资源消耗高的问题。

WebSocket 是 Comet 的改进版,可在 HTML5 中使用。 它保持服务器和客户端之间的连接开放,从而实现使用此连接进行持续的双向通信。 目前,主流浏览器均支持WebSocket。

通过 HTTP 建立 WebSocket 连接,使用 HTTP“Upgrade”标头字段将连接升级为 WebSocket。 请注意,如果网站使用不支持 WebSocket 的 HTTP 代理,则连接或通信可能会失败,因此需要进行适当的配置。