动静分离需求,使用不同的服务器处理请求。
处理动态内容的只处理动态内容,不处理别的,提高效率。CDN缓存更方便
突破浏览器并发限制
Cookie less, 节省带宽,尤其是上行带宽 一般比下行要慢。
用户的每次访问,都会带上自己的cookie ,挺大的。假如twitter 的图片放在主站域名下,那么用户每次访问图片时,request header 里就会带有自己的cookie ,header 里的cookie 还不能压缩,而图片是不需要知道用户的cookie 的,所以这部分带宽就白白浪费了。
节约主域名的连接数,从而提高客户端网络带宽的利用率,优化页面响应。
因为老的浏览器(IE6是典型),针对同一个域名只允许同时保持两个HTTP连接。将图片等资源请求分配到其他域名上,避免了大图片之类的并不一定重要的内容阻塞住主域名上其他后续资源的连接(比如ajax请求)。
避免不必要的安全问题( 上传js窃取主站cookie之类的)
关于多域名,也不是越多越好,虽然服务器端可以做泛解释,浏览器做dns解释也是耗时间的,而且太多域名,如果要走 https的话,还有要多买证书和部署的问题。