2010-03-25 34 views
2

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

例如:Facebook上的照片是在 “photos-a.ak.fbcdn.net”

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

回答

0

一个CDN通常散布在世界各地,使用户更接近文件,如果不是所有的文件都在主数据中心。

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

此外,cookies不再需要发送。对于Facebook而言,由于被嵌入到网络中,因此其中有一个Cookie,因此这可能是一个很大的节省。

2

#1本身expains它its static content site.

很好当浏览器发出的 静态图像的请求,并请求一起发送的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等 上。

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

最初从Yahoo.