【发布时间】:2011-09-03 11:55:45
【问题描述】:
我确实了解它的基本思想。但是我见过的大多数实现除了让我感到困惑之外什么也没做——我发现自己无法完全理解 Comet 和长轮询的概念……简单地说,我要求对这些想法进行简单的解释。我对隐藏 iframe 轮询技术的解释特别感兴趣。什么被执行,什么被请求等等。
另外,与经典的 ajax 方法相比,它有哪些优势? (除了减少流量和更实时的感觉)。
谢谢。
【问题讨论】:
标签: iframe comet long-polling
我确实了解它的基本思想。但是我见过的大多数实现除了让我感到困惑之外什么也没做——我发现自己无法完全理解 Comet 和长轮询的概念……简单地说,我要求对这些想法进行简单的解释。我对隐藏 iframe 轮询技术的解释特别感兴趣。什么被执行,什么被请求等等。
另外,与经典的 ajax 方法相比,它有哪些优势? (除了减少流量和更实时的感觉)。
谢谢。
【问题讨论】:
标签: iframe comet long-polling
following article 很好地解释了该技术。核心思想基于chunked transfer encoding HTTP 技术。页面中包含一个隐藏的 iframe,它指向使用分块编码的服务器端脚本。在分块编码中,响应不会一次性完全发送并且流关闭。服务器没有提前说明要发送多少数据,因此浏览器保持通道打开。然后,当服务器想要将一些数据推送到客户端时,它只需发送一个代表 javascript 函数的响应块。浏览器在客户端接收并执行这个函数。这样,当某些事件发生时,服务器可以成功推送信息,例如服务器上的某些数据更改,...
另外,与经典的 ajax 相比,它的真正优势是什么? 方法? (除了减少流量和更实时的感觉)。
这些优势还不够吗?流量减少意味着应用程序响应速度更快。你知道吗,像谷歌和亚马逊这样的大型网站进行了研究,并明确限制了他们的服务器,以便将响应时间增加几毫秒。我不记得确切的,但他们是公然的:他们这样做后失去了大约 70% 的客户。请记住:Web 应用程序最重要的特性(不仅仅是顺便说一句)是它的响应能力。
所以它基本上是拉(阿贾克斯)与推(彗星)。当客户端数量开始增加时,PUSH 技术可以更好地扩展。
【讨论】: