在Firefox 3中,答案是每个域6个:只要触发同一个域的第7个XmlHttpRequest(在任何选项卡上),它就会排队,直到其他6个完成为止。

其他主要浏览器的数字是多少?

此外,是否有办法绕过这些限制而不让用户修改浏览器设置?例如,jsonp请求(使用脚本标记注入而不是XmlHttpRequest对象)的数量是否有限制?

背景:我的用户可以从web页面到服务器进行xmlhttprequest,要求服务器在远程主机上运行ssh命令。如果远程主机宕机,ssh命令会在几分钟后失效,最终阻止用户执行任何进一步的命令。


当前回答

我刚刚检查了www.browserscope.org和IE9和Chrome 24,你可以有6个并发连接到一个域,最多17到多个域。

其他回答

根据IE 9 -什么改变了?在HttpWatch博客上,IE9在VPN上仍然有2个连接限制。

使用VPN仍然会破坏IE 9的性能 我们之前报道过 关于上限的缩减 IE的并发连接数 8当你的PC使用VPN连接时。 这种情况即使发生在浏览器 交通没有经过那里 连接。 不幸的是,IE 9受到VPN的影响 以同样的方式连接:

在IE6 / IE7中,用户可以调整注册表中的并发请求数量。下面是如何设置为四个。

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
"MaxConnectionsPerServer"=dword:00000004
"MaxConnectionsPer1_0Server"=dword:00000004

Browserscope的网络结果将为您提供每个主机名的连接数和流行浏览器的最大连接数。数据是通过对“野外”用户运行测试来收集的,因此它将保持最新。

我刚刚检查了www.browserscope.org和IE9和Chrome 24,你可以有6个并发连接到一个域,最多17到多个域。

我相信浏览器会对同一个域并发http请求的最大数量,根据用户的设置和浏览器的不同,请求的顺序是4-8个。

您可以设置请求到不同的域,这可能是可行的,也可能是不可行的。雅虎的人在这个领域做了很多研究,你可以在这里读到。请记住,您添加的每个新域也需要DNS查找。YSlow的人建议在2到4个域之间实现并行请求和DNS查找之间的良好妥协,尽管这主要关注页面的加载时间,而不是后续的AJAX请求。

我能问一下你为什么要提这么多要求吗?浏览器限制同一域的请求数量是有充分理由的。如果可能的话,最好将请求捆绑在一起。