我确实理解它的基本概念。但是我见过的大多数实现都没有做任何事情,只会让我感到困惑 - 我发现自己无法完全理解Comet的概念和漫长的民意调查......简而言之,我要求对这些想法进行简单的解释。我对隐藏的iframe轮询技术的解释特别感兴趣。执行什么,请求什么等等。
此外,它比传统的ajax方法有什么优势? (除了流量减少和更实时的感觉)。
感谢。
答案 0 :(得分:3)
这项技术在following article中得到了很好的解释。核心思想在于chunked transfer encoding HTTP技术。页面中包含一个隐藏的iframe,它指向使用分块编码的服务器端脚本。在分块编码中,响应不是完全一次发送而是流关闭。服务器没有预先说明要发送多少数据,因此浏览器会保持通道打开。然后,当服务器想要将一些数据推送到客户端时,它只是发送一个表示javascript函数的响应块。浏览器在客户端上接收并执行此功能。这样,服务器可以在某些事件发生时成功推送信息,例如服务器上的某些数据更改,......
此外,它比经典的ajax有什么真正的优势 进场? (除了流量减少和更实时的感觉)。
这些优势不足够吗?流量减少意味着应用程序响应更快。您是否知道像谷歌和亚马逊这样的大型网站进行了研究并明确地限制了他们的服务器,以便在几毫秒内增加响应时间。我不记得确切但他们是公然的:他们在这样做之后失去了70%的顾客。请记住:Web应用程序最重要的功能(而不仅仅是顺便说一下)就是它的响应能力。
所以它基本上是PULL(Ajax)vs PUSH(Comet)。当客户数量开始增加时,PUSH技术可以更好地扩展。