服务器推送技术的研究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
服务器推送技术的研究

服务器推送技术的研究   摘要:传统B/S应用中,浏览器中的页面每次需要手动刷新才能从服务器端获得最新的数据,存在一定的时间延迟和较差的用户体验。该文首先阐述上述问题的解决思路和服务器推送技术的发展,着重介绍使用HTTP长连接、无须浏览器安装插件的的Comet方案,给出了服务器推送的三种具体实现方式。   关键词:服务器推送;Comet;AJAX   中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)07-1516-02   Study on Server Push Technology   FEI Ri-dong1,LI Ding-zhu2   (1.School of Electronics Computer Science, North Central University,Taiyuan 030051,China; 2.North Automatic Control Research Institute, Taiyuan 030024, China)   Abstract: In the traditional B/S application, the page in the browserneed to manually refresh to get the latest data every time from the server side, there is a certain time delay and poor user experience. This paper first describes the above problem solving ideas and the development of server-push technology, focuses on the Comnet which use HTTP long connection and need not install the plug-I, lists the three specific implementations.   Key words: server Push , Comet,AJAX   随着Web技术的流行,越来越多的应用从原有的C/S模式转变为B/S模式,享受着Web技术所带来的各种优势(例如跨平台、免客户端维护、跨越防火墙、扩展性好等)。但是基于浏览器的应用,也有它不足的地方。主要在于界面的友好性和交互性。由于浏览器中的页面每次需要全部刷新才能从服务器端获得最新的数据或向服务器传送数据,这样产生的延迟所带来的视觉感受非常糟糕。   1服务器推送技术的发展   1.1纯浏览器并   Web应用中通常使用的是超文本传送协议(HTTP)协议,而HTTP协议是没有状态的,服务器处理完客户端请求并收到应答后就断开连接,所以并不能实现“服务器推送”。早期的“服务器推送”是通过浏览器端的Socket套接字和服务器端的远程调用实现的[1]。网景公司于1995年推出适用于Push技术的专用浏览器和经过修改的HTML语言[2]。但是这仅仅在部分浏览器中才能使用,由于厂商之间的竞争,但常用的IE浏览器就支持这种技术;还采用浏览器的插件的实现的方式,例如使用ActiveX、Applet、Flash,但是浏览器插件需要用户时必须先安装插件,操作系统和插件版本兼容性问题也经常出现,系统的防火墙也会因非标准的端口(非80端口)而拦截这些通信;HTML5标准中的WebSockets API允许Web服务器和客户端通信通过一个全双工TCP连接,但HTML5尚未   大规模应用[3]。   最近,随着AJAX(Asynchronous JavaScript and XML)技术的发展,人们重新关注基于纯HTTP协议的服务器推送技术,这种基于HTTP长连接、无须在浏览器端安装插件的服务器推送技术为“Comet”。Comet的精髓就在服务器端处完要发送的数据后,并不是立即断开连接,而是保持现有的HTTP连接不断,服务器通过这个保持的连接就可以将更新的数据发送给客户端,实现实时通信。目前一些主流网站都有类似的原理,例如:WebQQ、开心网、校内等等,它们中消息动态都是采用类似的技术,只是具体实现方式不一样。   1.2 Comet实现原理   Comet一般采用通过AJAX技术实现。浏览器端通过调用JavaScript代码的XMLHttpRequest对象发出HTTP请求,请求返回值的回调函数将收到的服务器信息更新到页面。参考图1,Comet技术与传统的AJAX轮询的区别在于:   1)服务器端会保持请求连接直到超时或着有新数据返回。   2)浏览器端每次收到新数据后会重新发出请求

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档