【问题标题】:Does linking to JQuery CDN slow my site down?链接到 JQuery CDN 会减慢我的网站速度吗?
【发布时间】:2018-04-02 21:06:32
【问题描述】:

一个完全的新手。这似乎是一个基本问题,但我找不到答案:

我有几行 JQuery 来显示和隐藏六个页面上的响应式菜单。我知道我需要“链接”到 JQ 库:

 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

这会减慢我的网站速度吗?访问者是否必须下载整个 JQ 库才能使我的两行代码工作?如果是这种情况,我可能会恢复使用 Javascript。

【问题讨论】:

  • 这可能会降低网站速度。最好在您的服务器上有本地副本。
  • @T.Bhamare:它很多比这更复杂,而且可能比本地副本快至少一样慢。跨度>
  • 最初可能会很慢,但不太可能,因为用户很有可能已经缓存了文件。
  • 如果链接是 CDN,那么最好有 CDN 引用。否则将文件保存在本地目录中并获取其路径。

标签: javascript jquery


【解决方案1】:

加载脚本文件从来都不是免费的,所以你必须决定它是否值得为所提供的功能。

一旦你决定这样做(如果你这样做的话),问题是是使用 CDN 还是在本地托管它。

CDN 的优点:

  • 它可能已经在浏览器缓存中,因为在其他地方使用了相同的文件。
  • CDN 使用边缘投射、高度优化的服务器和服务器配置等来实现尽可能快的交付。虽然您可能拥有同样快的服务器,但很可能您没有。

CDN 的组成:

  • 如果 CDN 已关闭,则即使 您的 网站已启动并正在运行,该链接也不起作用。
  • 它不在你的控制之下。

【讨论】:

  • 我知道这不是问题,但是如果服务器关闭,您可以随时添加一个 onerror 处理程序以避免出现问题:&lt;script onerror="this.src='local_url'" src="http://down_url" /&gt; &lt;/script&gt;
【解决方案2】:

一般来说,是的。某些情况会影响下载速度,例如内容阻塞、缓存和异步。

如果我们知道互联网连接速度和文件大小,我们可以计算下载文件需要多长时间。

缩小的 jquery CDN 文件为 84.8 KB。

average global internet connection 的速度约为 7.2 Mbps。

所以...

下载该大小的文件大约需要 78.45 毫秒

【讨论】:

  • 但这没有握手程序,不是吗?
  • 不这么认为,我很确定您在 html 页面中包含的任何内容都会以一种或另一种方式或多或少地被下载。
  • 其实我从流量数据上看是这样的。我的“不是吗?”是一种礼貌的形式。
  • 这取决于在您的 html 页面上如何使用 jquery。例如,如果您有依赖 jquery 进行渲染的视觉内容,那么您将不得不等待先下载它而不是之后。看到这个:stackoverflow.com/questions/8165103/…
  • 很明显你不知道握手过程是什么意思。见msdn.microsoft.com/en-us/library/windows/desktop/…
【解决方案3】:

取决于您认为网站速度变慢的原因。几毫秒是一个巨大的减速吗?

您可以通过在您自己的服务器上安装 jQuery 库来稍微加快这个过程(消除对 google CDN 的额外请求 => 节省时间)。加快进程的另一件事是使用 jQuery 的 SLIM 和缩小 CDN 版本。

现在,如果您只有 2 行代码,可能没有特别需要只为此包含 jQuery(再次考虑长期),但请考虑将来您是否会将 jQuery 用于更多事情。

最后,仅包含 jQuery 不会减慢您的响应时间(最多几毫秒)。

希望这会有所帮助!

【讨论】:

    【解决方案4】:

    CDN 网络不会降低您的网页速度,因为您正在尝试获取压缩文件。即使您使用离线文件,从存储中加载仍然需要一些时间。由于您正在开发网站/Web 应用程序,因此您的应用程序应连接到网络。如果页面第一次加载时没有显示任何 jquery 内容,可以通过将async 属性添加到script 标记使其在后台加载。

    您可以通过转到(在 Chrome 中)查看加载此文件所需的时间

    开发者控制台 -> 网络

    它将显示请求列表及其完成时间。也可以使用不同的过滤器。所以选择全部来查看所有网络连接和完成请求的时间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-03
      • 1970-01-01
      • 1970-01-01
      • 2012-12-23
      • 1970-01-01
      • 2015-12-09
      相关资源
      最近更新 更多