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