jquery - CDN 最佳实践是什么?

标签 jquery cdn

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

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

现在我所做的就是将除 ASP.Net 生成的 JS 之外的所有 js(包括 jquery 代码)合并到一个文件中。我将其托管在 Rackspace CDN 上。

我想知道从 Google 托管的 CDN 获取 jQuery、jQuery UI 文件是否更有意义(我怀疑它可以很好地服务这些文件,因为它们已经在许多用户的缓存中) ?

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

  • 现在我有多个容器来存放我的 Assets 。例如,在 Rackspace 中我有 3 个容器:JS、CSS 和 Images。这 3 个的 URL 子域都不同。这会导致性能损失吗?我应该只使用一个容器(即 CDN 的一个域)吗?

  • 是否有办法从 MS CDN 加载 MS ASP.Net 生成的 JS?根据上述问题,这会对性能产生影响吗?

  • 最佳答案

    加快网站速度的第一个方法是尽量减少 HTTP 请求 ( Best Practices from Yahoo )。因此,如果您已经从 CDN 提供组合的 CSS 文件,那么您就这样做了。从 Google 提供一些服务,从您的 CDN 提供一些服务会增加请求。

    遗憾的是,您无法将 CSS 和 JS 合并到一个文件中,因此您将陷入 CSS 和 JS 各一个请求的困境。您可能想要验证这些是否以 GZIPPE 形式提供。

    就您的图像而言,加快速度的最佳方法是尽可能使用图像 Sprite 。

    从不同的域提供文件可能确实有意义,因为这会增加并行下载的数量。 (Another article from yahoo on this)。如果您的 js 和 css 只是两个文件,您可以将其放在一个域中,将图像放在另一个域中。

    关于jquery - CDN 最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2704490/

    相关文章:

    php - 在 AJAX 中使用一次后重新绑定(bind)点击事件

    javascript - 使用ajax实时更新javascript变量

    twitter-bootstrap - Bootstrap 无法从 maxcdn ERR_CONNECTION_RESET 加载

    javascript - 为什么 Disqus 的评论代码不使用全局 CDN?

    html - 从 CDN (Amazon Cloudfront) 引用样式表时出错

    javascript - 没有断点jquery代码无法工作

    jquery - 在最初加载时隐藏 div 的层次结构

    design-patterns - 内容交付网络算法、示例、代码

    azure - 从 azure cdn 流畅流式传输

    php - 在 jQuery 自动刷新 div 中使用 jQuery 工具提示