437 html web-applications http persistent-connection web-performance
我正在创建一些到HTTP服务器的暂停连接(彗星,反向ajax等).它工作正常,但我看到浏览器只允许两个同时挂起到给定域的连接.因此,如果用户在浏览器的Tab1中查看我的网站,那么也尝试在Tab2中加载它们,他们已经用尽了两个允许的连接到我的网站.
我想我可以做一些通配域的东西,我有我的http服务器解析我的网站的任何地址,如:
*.example.com/webapp -> 192.0.2.1 (the actual ip of my server)
Run Code Online (Sandbox Code Playgroud)
所以:
a.example.com/webapp
b.example.com/webapp
c.example.com/webapp
Run Code Online (Sandbox Code Playgroud)
所有仍然指向(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!
Run Code Online (Sandbox Code Playgroud)
我刚刚选择了24个连接/ Firefox作为示例.
Als*_*nde 398
最大每个服务器/代理的默认同时持久连接数:
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
Run Code Online (Sandbox Code Playgroud)
限制是每服务器/代理,因此您的通配符方案将起作用.
仅供参考:这与HTTP 1.1特别相关; 其他协议有不同的关注点和限制(即SPDY,TLS,HTTP 2).
Fat*_*ğlu 189
IE 6 and 7: 2
IE 8: 6
IE 9: 6
IE 10: 8
IE 11: 8
Firefox 2: 2
Firefox 3: 6
Firefox 4 to 46: 6
Opera 9.63: 4
Opera 10: 8
Opera 11 and 12: 6
Chrome 1 and 2: 6
Chrome 3: 4
Chrome 4 to 23: 6
Safari 3 and 4: 4
Run Code Online (Sandbox Code Playgroud)
来源:http://p2p.wrox.com/book-professional-website-performance-optimizing-front-end-back-end-705/
Multiplexed support(one single TCP connection for all requests)
Run Code Online (Sandbox Code Playgroud)
Raz*_*aul 99
BrowserVersion | ConnectionsPerHostname | MaxConnections最大
第一个值是ConnectionsPerHostname,第二个值是MaxConnections.
资料来源:http://www.browserscope.org/?category = network&v = top
注意:ConnectionsPerHostname是浏览器将对同一域进行的最大并发http请求数.为了增加并发连接的数量,可以在不同的域中托管资源(例如图像).但是,您不能超过 MaxConnections,即浏览器将在所有域中打开的最大连接数.
Sor*_*ush 44
各种浏览器对每个主机名的最大连接有各种限制; 您可以在http://www.browserscope.org/?category=network找到确切的数字, 这是一篇有关网络性能专家Steve Souders的连接限制的有趣文章http://www.stevesouders.com/blog/2008/ 3月20日/舍入上平行的连接/
pal*_*wim 14
Firefox将此数字存储在此设置中(您可以在其中找到about:config):network.http.max-connections-per-server
对于最大连接,Firefox会在此设置中存储: network.http.max-connections
在页面上进行测试我看到了这种行为:
Safari 4: 6
Chrome 6: 7
FF 4: 6
Run Code Online (Sandbox Code Playgroud)
编辑:似乎firefox 4应该可以做15个连接,但这不是我观察到的行为.
看着about:config在GNU / Linux上的Firefox 33(Ubuntu的),和搜索connections,我发现:
network.http.max-connections:256
这可能是因为在所有域中每个浏览器的活动连接数没有限制
网络。http.max-persistent-connections-per-proxy:32
网络.http.max-persistent-connections-per-server:6
跳过了两个属性...
network.websocket.max连接数:200
(有趣的是,似乎它们不受服务器限制,但默认值低于全局http连接)
对此没有明确的答案,因为每个浏览器都有自己的配置,并且此配置可能会更改。如果您在互联网上搜索,您可以找到更改此限制的方法(通常它们被标记为“性能增强方法”。)如果您的网站需要,建议您的用户这样做可能是值得的。
| 归档时间: |
|
| 查看次数: |
319529 次 |
| 最近记录: |