为什么一个网站的资源会存在于多个域名中?

转自:http://www.toutiao.com/i6432298910575755777/

大致可以这样理解,为什么一个网站的资源会存在于多个域名中?

在很多的网站中,如果我们打开开发者工具查看source选项,会发现下面会有很多个域名。例如某度首页的source选项下有多个域名。

为什么一个网站的资源会存在于多个域名中?

多个域名

网站资源采用多个域名具有以下多个好处。

  • 更方便CDN缓存

将静态内容和动态请求分别存放在不同服务器上,更加方便进行CDN缓存。

  • 突破浏览器并发限制

每个浏览器都具有一个并发浏览请求数,表示的是同一时刻对于同一个域名下的请求数有一定的限制,超出这个限制后的请求将不被接受,直到等到有空闲连接数。不同浏览器并发连接请求数如下图所示。

为什么一个网站的资源会存在于多个域名中?

并发连接请求数

  • 节省cookie带宽

因为在很多时候,对于页面资源的请求我们是不需要携带用户cookie的,比如浏览图片,视频等信息,而用户登录时才需要用户cookie信息,此时就可以选择将图片,视频等资源放在专门存放静态资源的域名下,节省在发送请求时,传递cookie需要的带宽。

  • 节省主域名连接数

一般用户在访问网站的时候会访问主域名对应的网页,根据之前提到的浏览器并发连接数,对应主域名页面的访问连接就显得尤为珍贵,如果将不同的资源放在不同域名下,则可以节省主域名连接数,从而能优化页面的访问速度。

注意:并非同一个网站资源在越多的域名下就越好,原因有两点:

  1. 因为浏览器在做DNS解析时也会花费时间,太多的域名会导致解析时间过长,访问速度变慢。

  2. 如果域名采用的是HTTPS协议,则需要安装更多的证书,在部署时也存在一定的问题,加大了操作难度。