websocket多路复用扩展的用途和目的

Kon*_*aju 5 html5 websocket

我试图理解websocket多路复用扩展的目的,文档声明的主要目的是使用单个相同的源物理websocket连接到服务器,而每个浏览器选项卡使用在物理连接之上多路复用的逻辑连接.我看到了另一种可以实现此行为的替代方法,该方法是启动一个共享Web工作者,该工作人员打开websocket连接并让每个浏览器选项卡向/从此工作人员发送和接收消息.我还没试过这个,我想知道这个会不会有用.

小智 13

您的问题反映了对WebSocket Multiplexing Extension试图解决的问题的误解.

所述碱的WebSocket规范(RFC 6455)定义了用于通过TCP/IP数据的双向交换的协议.WebSocket作为普通的HTTP请求/响应启动.在此交换中,客户端和服务器协商切换到WebSocket协议.切换后,客户端和服务器通过TCP/IP连接交换数据帧.这将在客户端和服务器之间创建双向数据流.

基本协议的缺点是它仅支持在每个方向上流动的单个数据流.的复用扩展增强了基础协议,通过允许客户端和服务器在相同的TCP/IP连接,以创建多个"通道".

因此,多路复用扩展的目的是允许多个WebSocket通道在相同的TCP/IP连接上运行.就这样.

有多个浏览器窗口(或网络工作者)共享一个TCP/IP连接仅仅是一个例子,如何复用的WebSockets 可能会被使用.在标准术语中,它只是"信息性"(描述性),而不是"规范性"(规范的必要部分).