在绝大多数大型网站中,主站点使用的域名与css、图片、js 资源使用的域名地址都是区分开的。例如百度的首页是大家熟知的 baidu.com
,但其静态资源使用的是 bdstatic.com
。
这样做的好处有如下几点。
1. 节省带宽
这里主要指 cookie 的传输。在 http 请求中,都会附带相同域名下的 cookie 信息。对于主域名下,因为涉及各种用户相关的 cookie 设置,这个内容大小时不容忽略的。对于静态资源完全没有必要。使用不同域名则可是实现静态资源请求不附带 cookie,从而节省大量带宽。
2. 优化响应
由于一些老的浏览器实现上限制了同一域名的并发链接数(http1.1 协议一般是限制为 6 个)。将图片等资源请求分配到其他域名上,避免了大图片之类的并不一定重要的内容阻塞住主域名上其他后续资源的连接。
3. 与主站隔离,防止不必要的安全问题
4. 方便 CDN 资源部署
域名分开,部署也可以更方便的独立部署。