目前主流技术就是Comet ,Comet是一种用于web的技术,能使服务器能实时地将更新的信息传送到客户端,而无须客户端发出请求,目前有两种实现方式,长轮询(Long Polling)和iframe流(Streaming)。未来HTML5的WebSocket技术将会取代Comet成为服务器推送的方法。
一 iframe流
iframe流方式是在页面中插入一个隐藏的iframe,利用其src属性在服务器和客户端之间创建一条长链接,服务器向iframe传输数据(通常是HTML,内有负责插入信息的javascript),来实时更新页面。iframe流方式的优点是浏览器兼容好,Google公司在一些产品中使用了iframe流,如Google Talk。
二 长轮询(Long Polling)
一些应用及示例如 “Meebo”, “Pushlet Chat” 都采用了这种长轮询的方式。相对于“轮询”(poll),这种长轮询方式也可以称为“拉”(pull)。因为这种方案基于 AJAX,具有以下一些优点:请求异步发出;无须安装插件;IE、Mozilla FireFox 都支持 AJAX。
三 参考资料
- http://zh.wikipedia.org/wiki/Comet__(web技术)
- http://www.ibm.com/developerworks/cn/web/wa-lo-comet/
- http://infrequently.org/2006/03/comet-low-latency-data-for-the-browser/
- http://blog.csdn.net/linbo6/article/details/7319040
- http://www.zeitoun.net/articles/comet_and_php/start
- http://ajaxpatterns.org/HTTP_Streaming
- http://www.subbu.org/blog/2006/04/dissecting-ajax-server-push
- http://www.josephj.com/entry.php?id=358