浏览器的并发请求数目限制是针对同一域名的。
即同一时间针对同一域名下的请求有一定数量限制,超过限制数目的请求会被阻塞,这就是为什么会有img.abcde.com, abcde.com 之类域名的原因。
| 版本 | HTTP1.0 | HTTP1.1 | 
| IE 6\7 | 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解析就越多
 
                     
                    
                 
                    
                 
 
         
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号