这是一项成熟的技术,但我认为你应该将其视为一种技巧而非技术。
据我所知,所有的Web服务器都支持它,但如果要构建延时推送应用程序,则需要研究和配置特定的Web服务器,因为对资源的需求略有不同。具体而言,将会有更多同时打开的连接到您的服务器。就编程语言支持而言,如果您选择的服务器语言具有任何阻塞或等待机制,则可以支持服务器推送。所有浏览器也都支持它,因为从浏览器的角度来看,这只是一个需要很长时间才能返回的HTTP(S)连接。
它有一些缺点,在浏览器世界中,最大的缺点可能是某些浏览器限制对特定URL的打开连接数为两个。因此,如果您有一个服务器阻塞连接等待推送数据,那么在浏览器获取来自服务器的数据时只剩下一个可用连接。这可以通过在几个二级域名上分散您的资源以允许浏览器打开更多连接来缓解。
Comet在所有关于AJAX的炒作之前实际上已经在使用:这只是一个旧想法的新名称。人们长期以来一直在使用隐藏的iframe来模拟服务器推送而没有问题。