首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >什么是CDN最佳实践?

什么是CDN最佳实践?
EN

Stack Overflow用户
提问于 2010-04-24 12:44:56
回答 2查看 4.7K关注 0票数 10

我最近开始使用Rackspace Cloudfiles CDN (Limelight),对此我有一些问题:

  1. 除了定制的JS代码之外,我还使用了jQuery、jQuery UI和jQuery工具。另外,我的站点是用ASP.Net编写的,这意味着有一些ASP.Net生成的JS代码。

现在,我所做的是将所有js (包括jquery代码)组合在一起,除了ASP.Net生成的JS到一个文件中。我在Rackspace CDN上托管这个。

我想知道从谷歌托管的CDN中获取jQuery、jQuery用户界面文件是否更有意义(我怀疑这些文件在服务这些文件方面会很好,因为它们已经存在于许多用户的缓存中)?

这意味着会有一个额外的HTTP请求,所以我不确定它是否会有帮助。

  1. 现在我有多个容器来存放我的资产。例如,在Rackspace中,我有3个容器: JS、CSS和Image。所有3个的URL子域都是不同的。这会导致业绩损失吗?我应该只使用一个容器(也就是CDN的一个域)吗?
  2. 是否有从MS加载MS ASP.Net生成的JS的方法?按照上面的问题,这会有一个性能上的打击吗?
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-04-24 13:01:04

加快网站速度的第一种方法是最小化HTTP (雅虎的最佳做法)。因此,如果您已经从一个CDN中为您的组合CSS文件提供服务,那么您就是在这样做。从谷歌和你的CDN提供的一些服务增加了请求。

不幸的是,您不能将CSS和JS合并到一个文件中,因此您将不得不为CSS和JS分别处理一个请求。您可能需要验证GZIPPED是否提供了这些服务。

对于你的图像来说,最好的方法是尽可能地使用图像精灵来加快速度。

提供来自不同域的文件可能是有意义的,因为这会增加并行下载的数量。(这是雅虎的另一篇文章。)。如果您的js & css只是两个文件,您可能可以将其放在一个域上,而您的图像则放在另一个域上。

票数 7
EN

Stack Overflow用户

发布于 2010-04-24 13:02:38

是绝对更好的让你的资产在一个不同的领域。

浏览器一个接一个地加载web资产,或者从单个主机依次加载web资产。他们将不会开始请求和下载下一个资产,直到他们完成前一个从同一领域的资产。因此,将主机或域增加一倍可以使下载速度提高100%左右,因为浏览器可以同时从两个不同的域下载内容。

如果在您的网站上启用了cookie或会话,浏览器每次向域发出请求时都会发送会话cookie,这是没有用的,因为它是静态内容--服务器根本不需要cookie来提供图像等静态内容。这不仅浪费了带宽,也浪费了交流时间。要避免这种情况,请从未启用cookie的域中提供所有静态内容。

相反,让JS服务于更新JS代码的站点可能变得很棘手,因为您失去了根据新框架首先测试当前JS的机会。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2704490

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档