websockets如何比简单的HTTP请求更快?

时间:2013-10-03 21:19:30

标签: http websocket comet

您仍需要将来自计算机的请求发送到网站的服务器并来回传送。 websockets如何让它快得多?

1 个答案:

答案 0 :(得分:19)

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

同时检查此article

  

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套接字代表了Web通信的下一个发展 - a   运行的全双工双向通信信道   通过Web上的单个套接字。 HTML5 Web套接字提供了一个   可用于构建可扩展的实时Web的真正标准   应用。另外,因为它提供了原生的套接字   在浏览器中,它消除了Comet解决方案的许多问题   容易发生。 Web套接字消除了开销并大大减少了   复杂性。

延迟比较: -

enter image description here

  

<强>要点: -

     

Web Sockets在可扩展性方面向前迈出了一大步   实时网络。正如您在本文中看到的,HTML5 Web套接字   可以提供500:1或 - 取决于HTTP标头的大小 - 甚至   减少不必要的HTTP标头流量和3:1的1000:1   延迟减少。这不仅仅是一种渐进的改进;   这是一次革命性的跳跃 - 一次巨大的飞跃!