我听说我可以使用Comet作为服务器推送技术以及我的Ajax代码来提高我的Web应用程序的性能。
这种Comet技术有多成熟?
是否所有网络服务器,编程语言和浏览器都支持它?
使用Comet有什么缺点?
答案 0 :(得分:5)
虽然我认为你应该把它看作技术而不是技术,但它已经成熟了。
据我所知,所有网络服务器都支持它,但如果您正在构建一个彗星应用程序,则需要研究和配置您的特定Web服务器,因为对资源的需求有所不同。具体来说,与服务器的同步打开连接将会更多。在编程语言支持方面,如果您选择的服务器语言具有任何类型的阻塞或等待机制,则可以支持服务器推送。所有浏览器都支持它,从浏览器的角度来看,这只是一个需要很长时间才能返回的http(s)连接。
在浏览器世界中存在一些缺点,最大的可能是某些浏览器将特定URL的打开连接数限制为两个。因此,如果您有一个服务器阻塞连接打开等待某些推送数据,那么您只能使用一个可用于浏览器的连接来从服务器获取数据。这可以通过将资源分布在几个二级域中来缓解,以允许浏览器打开更多连接。
答案 1 :(得分:2)
“所有Web服务器都支持”是一个奇怪的声明。大多数实现都是服务器本身,您需要找到一个与您要使用的语言集成的服务器。
也就是说,我在一家公司工作,该公司建立一个与服务器集成的公司,特别是IIS。
如果您不想打扰处理服务器集成(处理不同语言,处理扩展等),请查看websync - 该服务可让您轻松集成任何语言,因为它是托管的,但是通过您自己的服务器支持proxying请求,以便您可以添加自己的业务逻辑,日志记录,权限等。
答案 2 :(得分:1)