2

许多大型网站(facebook 等)都在为其内容设置 CDN。现在我注意到,这些 CDN 并不总是在原始域上。

示例:Facebook 图片在“photos-a.ak.fbcdn.net”上

这是为什么?在“主”域(facebook.com)上没有很多子域是否有性能提升

4

3 回答 3

2

由于使用不同的域,浏览器不再需要发送 cookie,因此用户的性能得到了相当大的提升。

阅读这篇文章以获取有关无 cookie 域的更多信息:http ://code.google.com/speed/page-speed/docs/request.html#ServeFromCookielessDomain

于 2010-03-25T23:40:58.157 回答
2

Stackoverflow 本身在其静态内容站点上很好地解释了它。

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

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

在无 cookie 域上托管静态组件的另一个好处是某些代理可能拒绝缓存使用 cookie 请求的组件。在相关说明中,如果您想知道是否应该将 example.org 或 www.example.org 用于您的主页,请考虑 cookie 的影响。省略 www 让您别无选择,只能将 cookie 写入 *.example.org,因此出于性能原因,最好使用 www 子域并将 cookie 写入该子域。

最初来自雅虎。

于 2010-03-26T00:41:18.043 回答
0

CDN 通常分布在世界各地,因此与所有文件都在主数据中心相比,用户更接近文件。

很难(不可能?)将单个域路由到不同的数据中心。

此外,不再需要发送 cookie。对于由于嵌入整个网络而拥有大量cookie 的 Facebook 而言,这可以节省大量资金。

于 2010-03-25T23:42:55.767 回答