浏览器的并发请求数目限制是针对同一域名的。 即同一时间针对同一域名下的请求有一定数量限制,超过限制数目的请求会被阻塞,这就是为什么会有img.abcde.com,abcde.com 之类域名的原因。
?
?
?
?
? ?版本
|
? ? HTTP1.0
|
? ?HTTP1.1
|
IE 67
|
4
|
2
|
IE 8
|
6
|
6
|
IE 9
|
10
|
10
|
IE 10
|
6
|
6
|
IE 11
|
6
|
6
|
chrome
|
6
|
6
|
firefox
|
6
|
6
|
如图,有的请求会持续很长时间,如果把 img,css,js... 都放到 abcde.com 一个域名下面,其他请求就迟迟无法完成,浏览者看来就是『卡住了』。 而把请求放到多个域名下,增加浏览器的并发请求数,比如图片放到 img.abcde.com 域名下。
京东对静态资源的处理,通过以下js代码使得页面上的图片资源来自于不同域名的服务器,就是对以上所说的优化:
?
var b,a = String(a); switch (a.match(/(d)$/)[1] % 5) { case 0: b = 10; break; case 1: b = 11; break; case 2: b = 12; break; case 3: b = 13; break; case 4: b = 14; break; default: b = 10; } return "http://img{0}.360buyimg.com/".replace("{0}",b);
?
为什么要这么做? 1、图片服务器做集群; 如果一个挂了,其他还可以使用; 2、多个域名请求到一个服务器? a)浏览器针对同一个域名并发数限制; b)使用多个域名,加快资源下载; c)注意:并不是域名越多加载越快? DNS解析就越多
? (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|