一尘不染

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

php

我正在创建到HTTP服务器的一些挂起的连接(comet,反向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为例进行说明。


阅读 893

收藏
2020-05-13

共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
Chrome:     6

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

仅供参考:这与HTTP 1.1特别相关;其他协议具有单独的关注点和限制(即SPDY,TLS,HTTP 2)。

2020-05-13