在哪里托管静态内容:子域或不同的域?

时间:2012-02-01 20:22:09

标签: performance seo cdn

将我们的应用程序静态内容托管在一个完全不同的域上,而不是像其他域一样托管我们主域的子域,有什么好处?例如,微软使用i.microsoft.com,谷歌使用gstatic.com,雅虎使用yimg.com,Stackoverflow使用sstatic.net

提前致谢

2 个答案:

答案 0 :(得分:10)

应该是不同的域名。

来自雅虎的Best Practices for Speeding Up Your Web Site

  

当浏览器发出静态图像请求并将cookie与请求一起发送时,服务器对这些cookie没有任何用处。因此,他们只会毫无理由地创建网络流量。您应该确保使用无cookie请求请求静态组件。创建一个子域并在那里托管所有静态组件。

     

如果您的域名是www.example.org,则可以在static.example.org上托管您的静态组件。但是,如果您已经在顶级域example.org上设置了cookie而不是www.example.org,那么对static.example.org的所有请求都将包含这些cookie。在这种情况下,您可以购买一个全新的域,在那里托管您的静态组件,并保持此域无cookie。雅虎使用yimg.com,YouTube使用ytimg.com,亚马逊使用images-amazon.com等。

答案 1 :(得分:1)

图片应位于不同的域(或您的CDN域)。另一方面,CSS可以受益于托管在ROOT域上,即与您的Web服务器相同的域。请参阅此实验,以证明更好的加载时间:http://www.jonathanklein.net/2014/02/revisiting-cookieless-domain.html