浏览器中的最大并行 HTTP 连接数?

新手上路,请多包涵

我正在创建一些到 HTTP 服务器(彗星、反向 AJAX 等)的暂停连接。它工作正常,但我看到浏览器只允许两个暂停的连接同时连接到给定的域。因此,如果用户在他们浏览器的 Tab1 中查看我的网站,然后还尝试在 Tab2 中加载它,他们已经用完了我网站的两个允许连接。

我想我可以做一些通配符域的事情,我让我的 HTTP 服务器解析我网站的任何地址,例如:

 *.example.com/webapp  -> 192.0.2.1 (the actual ip of my server)

所以:

 a.example.com/webapp
b.example.com/webapp
c.example.com/webapp

所有仍然指向 ( www.example.com/webapp ) 但浏览器认为它们是不同的域,所以我没有遇到 2 个连接限制。这是真的?

即使这 真的 - 每个浏览器在所有域中的活动连接数是否有任何限制?假设我使用上面的方案 - 例如 Firefox 在任何给定时间只允许 24 个并行连接?就像是:

 1) a.example.com/webapp
2) www.download.example/hugefile.zip
3) b.example.com/webapp
4) c.example.com/webapp
...
24) x.example.com/webapp
25) // Error - all 24 possible connections currently in use!

我刚刚选择了 24 个连接/Firefox 作为示例。

原文由 Mark 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 439
1 个回答

每个服务器/代理的最大默认同时持续连接数:

 Firefox 2:  2
Firefox 3+: 6
Opera 9.26: 4
Opera 12:   6
Safari 3:   4
Safari 5:   6
IE 7:       2
IE 8:       6
IE 10:      8
Edge:       6
Chrome:     6

该限制是针对每个服务器/代理的,因此您的通配符方案将起作用。

仅供参考:这与 HTTP 1.1 特别相关;其他协议有不同的问题和限制(即 SPDY、TLS、HTTP 2)。

原文由 Alsciende 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题