web应用中的双向通信_websocket简介

web应用中的双向通信_websocket简介

ID:9946280

大小:217.00 KB

页数:4页

时间:2018-05-16

web应用中的双向通信_websocket简介_第1页
web应用中的双向通信_websocket简介_第2页
web应用中的双向通信_websocket简介_第3页
web应用中的双向通信_websocket简介_第4页
资源描述:

《web应用中的双向通信_websocket简介》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Web应用中的双向通信——WebSockets简介顾勤译什么是WebSockets?WebSockets规范是在HTML5中开始提供的一种浏览器与服务器的JavaScript接口,该规范定义了浏览器与服务器之间进行双全工消息传送的套接字连接。WebSockets标准大大简化了服务器与客户端之间的通信与连接管理。关于HTML5WebSocketsHTML5WebSockets规范定义了一个API,允许网页利用WebSockets协议与远程主机进行双向通信。该规范介绍了WebSockets接口,并定义了一个通过网络上单一的套接

2、字连接的双全工通信频道。相对于两种模拟双全工连接的解决方案:轮询和长轮询,HTML5WebSockets降低了大量不必要的网络传输和延迟。HTML5WebSockets能够穿过网络上的一些障碍,如代理和防火墙,让数据流能够使用任意连接传输,并在单一连接中支持上行数据流和下行数据流,基于HTML5WebSockets的应用能减少服务器的负担,使现有的机器能够支持更多的并发连接数。下图说明了一个基本的WebSocket的架构,该架构中浏览器利用WebSocket与服务器进行双全工、直接的通信。WebSocket的一个独特的功能

3、就是穿越防火墙和代理的能力,很多应用程序都面临着这样的问题。Comet风格的应用程序采用长轮询作为解决防火墙和代理问题的基本方法。该技术虽有效,但不适用于低于500毫秒的延迟或高吞吐量要求的应用程序。基于插件的技术,如AdobeFlash,也提供一定的套接字接口支持,但长期以来也一直存在难以穿过代理和防火墙的问题,而现在WebSockets解决了这个问题。WebSocket会检测存在的代理服务器,并自动设置穿越代理的通道。这个通道是通过发起一个与代理服务的HTTPCONNECT声明来建立的,这需要代理服务器在指定的主机和端

4、口上打开一个TCP/IP连接。一旦通道创建完成,就可以顺利穿过代理进行通信。由于HTTP和HTTPS的工作原理相似,因此通过SSL的安全WebSockets可以采用与HTTPCONNECT相同的方法。要注意的是,现在的浏览器都是最近才开始支持WebSockets(Chrome浏览器最初版本就支持WebSockets)。然而,今天的浏览器都实现了向后兼容性,因而能够充分利用这一新兴技术。WebSocket和其它HTML5支持的特性(如本地存储和地理定位)一样,都是原始HTML5规范的一部分,但为了更加重视,WebSocket

5、被分离成为一个独立的标准。WebSocket被它的作者——网页超文本技术工作小组(WHATWG)提交给了Internet工程任务组(IETF)。参与标准制定的作者、传播者和公司,仍将WebSockets视为HTML5原始功能部件的集合中的一部分。WebSocket协议WebSocket协议的设计,使它在现有网络设施的基础上也能够很好的工作。基于这一设计原则,协议规定:WebSocket的生命周期从一个HTTP连接开始,以保证完全兼容WebSocket诞生之前的网络环境。从HTTP到WebSocket协议的转换被称为WebS

6、ocket握手。浏览器向服务发送一个请求,表明它要将协议由HTTP转为WebSocket。客户端通过HTTP头中的Upgrade属性来表达这一请求:GETws://echo.websocket.org/?encoding=textHTTP/1.1Origin:http://websocket.orgCookie:__utma=99asConnection:UpgradeHost:echo.websocket.orgSec-WebSocket-Key:uRovscZjNol/umbTt5uKmw==Upgrade:webso

7、cketSec-WebSocket-Version:13如果服务器支持WebSocket协议,同样通过HTTP头中的Upgrade属性来表示同意进行协议的转换:HTTP/1.1101WebSocketProtocolHandshakeDate:Fri,10Feb201217:38:18GMTConnection:UpgradeServer:KaazingGatewayUpgrade:WebSocketAccess-Control-Allow-Origin:http://websocket.orgAccess-Control

8、-Allow-Credentials:trueSec-WebSocket-Accept:rLHCkw/SKsO9GAH/ZSFhBATDKrU=Access-Control-Allow-Headers:content-type此时,HTTP协议被取消,取而代之的是一个基于TCP/IP的WebSocket

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。