从Yahoo!
关于网站优化的经典14条建议,
在V2版中,已经更新到35条了,
参见网址:
http://developer.yahoo.com/performance/rules.html
具体规范见“All
”部分。
其中有需要减少请求连接数和减少DNS解析次数,
由于在http协议
中有对浏览器并发请求连接数的限制,1.1版本
中规定了是2个,
参见:http://www.w3.org/Protocols/rfc2616/rfc2616-sec8.html#sec8.1.4
Practical Considerations部分最后一段:
Clients that use persistent connections SHOULD limit the number of
simultaneous connections that they maintain to a given server. A single-user client
SHOULD NOT
maintain more than 2 connections
with any server or proxy. A proxy SHOULD use up to 2*N connections to
another server or proxy, where N is the number of simultaneously active
users. These guidelines are intended to improve HTTP response times and
avoid congestion.
于是通常
的优化网站加载速度的方法是采用多个域名
增加浏览器对同一网页
的请求并发连接数
,
如淘宝网的图片会出现在如下众多域名
下:
img01
.taobaocdn.com,img02
.taobaocdn.com,img03
.taobaocdn.com 。。。
ping一下上述地址,就会发现img01,img03,img04的IP都是:121.14.63.250
,说明它们其实都指向了同一台服务器或同一路由服务器。
显然这样的做法与Yahoo!
14条或者22条或者35条中的Reduce DNS lookups
规则是相违背的,
这需要在提高并发连接数和减少DNS解析之前寻求到一个平衡点,以达到适合自己网站的最快速度。
--------------------------------------------------------------------------------------------
然而随着家庭宽带带宽的增加,普通用户上网速度的增加,
Yahoo!
的14条
也变成了新的22条或者35条,
说明在带宽不一样的今天,网站优化的原则也有所改变,
那么各个浏览器包括IE和Firefox是不是仍然严格地遵循着Http协议中关于2个
并发连接数的限制呢?
下面就来验证一下看看。
首先
来看看Windows XP英文版IE8的并发连接数,
在开始菜单中的运行对话框中输入regedit
打开注册表编辑器,
依次打开注册表项:[HKEY_CURRRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
],
可以看到MaxConnectionsPerServer
和MaxConnectionsPer1_0Server
两个选项的值都是10
,而不是Http协议中规定的2个!
如图所示:
再看看
Firefox的相关配置:
在Firefox地址栏中输入:about:config
然后在配置页面中搜索:max,可以看到network.http.max-connections的值是30,
network.http.max-persistent-connections-per-server
的值是6
,
也都不是协议所规定的2。
如图所示:
最后我们可以动手来写一个简单的JS函数来验证一下浏览器对同一域名(Server)的并发连接数的限制,
写一个发送Ajax请求的函数,其请求的后台页面做延迟响应,如php中用sleep(3)。
然后写16个调用语句,再写一个发送Ajax请求的语句,这个请求地址的后台页面收到请求后立即返回响应数据,
Demo地址如:http://developer.oncecode.com/comet/
分别测试IE8、Firefox 3.6.8和chrome 5.0,
不难得出结论
:
IE8
的并发连接数限制为10
;
Firefox
3.6.8和chrome
5.0的并发连接数都为6
。
分享到:
相关推荐
IE和firefox 调试 javascript css html 插件 exe文件为IE的,另一个为firefox的 AJAX开发必备
Javascript的IE和Firefox(火狐)兼容性解决方案
JavaScript在IE和Firefox(火狐)的不兼容问题解决
mxGraph破解包含ie和firefoxmxGraph破解包含ie和firefox
IE+Firefox浏览器下搭建EBS的Form环境,实现IE,Firefox下Form同时工作
在文本中大量区分网页在IE与 fireFox里面js的区别与不同的表现方式,与达到统一的解决方法
解决IE6 IE7 Firefox中li兼容问题
JS的IE和Firefox兼容性总结
经过三天的苦战,查询无数的国外网站终于实现了对IE和...利用API和DDE分别对IE和FireFox进行了浏览器地址获取,完整的源码程序,与大家分享学习。后期将完善,实现对IE,FireFox,360,搜狗等主流浏览器URL地址的监控。
IE6.0、IE7.0 与FireFox CSS兼容的解决方法
在Firefox下直接调用IE浏览器(IETab这个插件).zip
不可避免的要涉及浏览器的兼容性问题,特别是javascript的兼容性问题,典型代表就是IE浏览器和FireFox浏览器,了解到不同之处就可以避免出现使用不同浏览器时可能会出现的兼容性问题,找了一些关于js在IE和FireFox中...
firefox的插件, 模拟微信公众帐号请求 方便开发调试微信公从号
解决 IIS IE7 Firefox 需要用户名和密码?
Firefox IE Tab 火狐浏览器及调试器
一个老程序员总结的用于IE 和 firefox 的技巧大全. 很实用. 不花哨
这份文档详细描述了IE和Firefox两大浏览器对js的兼容性处理
这要是对IE6和firefox的兼容性做的一些总结
Javascript的IE和Firefox兼容性问题集合
详细阐述了IE和Firefox中兼容JavaScript的区别,是一份值得学习值得一观文档资料。