在Firefox 3中,每个域的答案是6:只要触发到同一个域的第7个XmlHttpRequest(在任何选项卡上),它就会排队,直到其他6个完成.
其他主流浏览器的数字是多少?
此外,有没有办法绕过这些限制而不让我的用户修改他们的浏览器设置?例如,jsonp请求的数量是否有限制(使用脚本标记注入而不是XmlHttpRequest对象)?
背景:我的用户可以从网页向服务器发出XmlHttpRequests,要求服务器在远程主机上运行ssh命令.如果远程主机关闭,ssh命令将花费几分钟时间失败,最终阻止我的用户执行任何进一步的命令.
可用于增加并发连接数的一个技巧是托管来自不同子域的图像.这些将被视为单独的请求,每个域将被限制为并发最大值.
IE6,IE7 - 限制为2.如果你有宽带,IE8是6 - 2(如果它是拨号).
Browserscope的网络结果将为您提供流行浏览器的每个主机名和最大连接数.通过对"野外"用户运行测试来收集数据,因此它将保持最新状态.
使用IE6/IE7,可以调整注册表中的并发请求数.以下是如何将其设置为四个.
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings] "MaxConnectionsPerServer"=dword:00000004 "MaxConnectionsPer1_0Server"=dword:00000004
我刚刚使用www.browserscope.org和IE9以及Chrome 24 进行了检查,您可以将6个并发连接到单个域,最多可以连接17个到多个域.
我写了一个文件AJAX测试器.好好享受!!!仅仅因为我的托管服务提供商遇到了问题
concurrent json requests Elapsed Time:
编辑:
r表示行和w等待时间.
当你最初按下开始按钮80(或任何其他数量)的并发ajax请求是由javascript启动时,但众所周知它们是由浏览器假脱机.它们也被并行地请求服务器(限于某个数字,这是这个问题的事实).这里请求在服务器端解决,具有随机延迟(由w建立).在开始时,计算解决所有ajax调用所需的所有时间.测试完成后,您可以看到它占用了总时间的一半,占了三分之一,花了四分之一等,扣除了对服务器调用的并行性.这不是严格的,也不是精确的,但很高兴能够实时看到ajaxs调用是如何完成的(看到传入的交叉).并且是一个非常简单的自包含脚本来显示ajax基础知识.
当然,这假设服务器端没有引入任何额外限制.
最好与萤火虫网面板(或您的浏览器相当)一起使用
根据IE 9 - 改变了什么?在HttpWatch博客上,IE9在通过VPN时仍然有2个连接限制.
使用VPN仍然Clobbers IE 9性能
我们之前曾报告过,当您的PC使用VPN连接时,缩小IE 8中的最大并发连接数.即使浏览器流量没有超过该连接,也会发生这种情况.
不幸的是,IE 9以相同的方式受到VPN连接的影响: