HTML5 WebSockets规范定义了一个API,允许web页面使用WebSockets协议与远程主机双向沟通。介绍了WebSocket接口,并定义了一种全双工通信通道,通过一个套接字在网络上。HTML5 WebSockets提供极大的减少了不必要的网络流量和延迟而不能攀登的轮询和长轮询的解决方案是用来模拟全双工连接通过维护两个连接。
HTML5 WebSockets账户代理和防火墙等网络危害,使得流媒体可以在任何连接,和能够支持在单个连接上游和下游的通信,HTML5 WebSockets-based应用程序服务器减轻负担,让现有的机器支持更多的并发连接。下图显示了一个基本的WebSocket-based结构,在这种结构中,浏览器使用全双工的WebSocket连接,直接与远程主机通信。
用程序通常使用长轮询的基本线防御防火墙和代理。技术是有效的,但不适合应用程序子- 500毫秒延迟或高吞吐量的需求。基于插件技术,如Adobe Flash,也提供某种程度的套接字的支持,但一直背负的代理和防火墙遍历的WebSockets现在解决的问题。
WebSocket检测存在代理服务器,并自动设置隧道通过代理。建立了隧道通过发出一个HTTP CONNECT语句到代理服务器,代理服务器的请求打开一个TCP / IP连接到特定的主机和端口。一旦建立隧道,沟通可以通过代理流畅通。由于HTTP / S以类似的方式工作,通过SSL安全WebSockets可以利用相同的HTTP连接技术。注意,WebSockets才刚刚开始被现代浏览器支持(Chrome现在支持WebSockets本地)。然而,向后兼容的实现,使今天的浏览器利用这一新兴技术。
WebSockets-like HTML5工作的其他部分如本地存储和Geolocation-was最初html 5规范的一部分,但是被转移到一个单独的标准文档规范集中。WebSockets已经提交给因特网工程任务组(IETF)的创造者,Web超文本应用程序技术工作组(WHATWG)。作者、布道者和企业参与标准化仍然参考原始的功能集,包括WebSockets,“HTML5。”