18

您仍然需要从您的计算机向网站的服务器来回发送请求。websockets如何让它变得如此之快?

4

1 回答 1

33

WebSocket 是 HTTP 的扩展。对于低延迟通信,Web Sockets 更好。

另请查看这篇文章

websockets如何让它变得如此之快?

为了建立 WebSocket 连接,客户端和服务器在初始握手期间从 HTTP 协议升级到 WebSocket 协议,如下例所示:-

GET /text HTTP/1.1
Upgrade: WebSocket
Connection: Upgrade
Host: www.websocket.org

HTTP/1.1 101 WebSocket Protocol Handshake
Upgrade: WebSocket
Connection: Upgrade
…

一旦建立,WebSocket 数据帧就可以在客户端和服务器之间以全双工模式来回发送。文本和二进制帧都可以同时在任一方向全双工发送。数据最少只有两个字节。在文本帧的情况下,每个帧以 0x00 字节开始,以 0xFF 字节结束,并在其间包含 UTF-8 数据。WebSocket 文本帧使用终止符,而二进制帧使用长度前缀。

Web Sockets 代表了 Web 通信的下一个发展——全双工、双向通信通道,通过 Web 上的单个套接字进行操作。HTML5 Web Sockets 提供了一个真正的标准,您可以使用它来构建可扩展的实时 Web 应用程序。此外,由于它提供了一个浏览器原生的套接字,它消除了 Comet 解决方案容易出现的许多问题。Web Sockets 消除了开销并显着降低了复杂性。

延迟比较:-

在此处输入图像描述

概括:-

Web Sockets 在实时 Web 的可扩展性方面向前迈出了一大步。正如您在本文中看到的那样,HTML5 Web Sockets 可以提供 500:1 或(取决于 HTTP 标头的大小)甚至 1000:1 减少不必要的 HTTP 标头流量和 3:1 延迟减少。这不仅仅是渐进式的改进。这是一个革命性的飞跃——一个质的飞跃!

于 2013-10-03T21:25:17.927 回答