我正在创建一些到 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 许可协议
每个服务器/代理的最大默认同时持续连接数:
该限制是针对每个服务器/代理的,因此您的通配符方案将起作用。
仅供参考:这与 HTTP 1.1 特别相关;其他协议有不同的问题和限制(即 SPDY、TLS、HTTP 2)。