4

我记得在某处读到,从 Google 的 AJAX 库 API 加载 JS 框架比使用本地托管的框架要好得多。

这意味着,而不是:

<script src="jquery.js"></script>

您从 Google 加载框架:

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

我认为优势主要在于缓存,但我不确定。

有人可以向我解释为什么最好从谷歌加载框架而不是在本地托管它们的原因吗?

4

5 回答 5

9

另一个站点很有可能也会使用来自 Google 服务器的相同 js 文件,因此该文件已经被您的浏览器缓存,并且不需要为您的站点再次下载它。

查看这篇文章以了解其他一些好处。

于 2009-12-06T15:10:19.183 回答
4

让 Google 托管您的 javascript 库有利有弊。

优点:

  • 谷歌的 CDN 比你的好得多
  • Google 收集的有关您的网站和使用情况的大量数据
  • 用户可能有从另一个网站缓存的库

缺点:

  • 1 个额外的 DNS 查询
  • Google 收集的有关您的网站和使用情况的大量数据
  • 谷歌可能被关闭或被阻止(唯一但可能发生,即一些疯狂的公司政策)
  • 用户浏览器必须建立的 1 个新连接
  • 在 Safari 中,jquery 文件不提供 gzipped

根据我的经验,我在本地托管方面取得了优异的成绩,因为我将 Google 的 JQuery 库与我的其他 javascript 代码统一起来,将其压缩并在统一的 javascript 文件中获得了很好的压缩率。这样,浏览器使用已经打开的连接来下载包含所有内容的“小”文件。

于 2009-12-06T15:29:51.780 回答
3

首先,这意味着负载在 Google 的服务器上,而不是您自己的服务器上,这将为您节省服务器处理时间和带宽。其次,对于绝大多数互联网用户来说,谷歌的服务器很可能比你自己的服务器更快。

另外,从谷歌的角度来看,它可以让他们获得更多关于人们如何使用互联网和他们的 API 的数据。

ETA:另外,如果 Google 更新他们的 API,这意味着您将始终使用最新版本。这可能是也可能不是一件好事(错误修复与向后兼容性)。

于 2009-12-06T15:08:30.310 回答
0

归结为足迹:Google 拥有一组分布式网络位置,从而确保向几乎所有地方提供低延迟交付。

因此,如果您尽可能多地从 Google 提供服务,您的客户QoE(体验质量)将会提高。

  1. 客户关心这一点,因为他们获得网页的速度越快,完成的工作就越多。

  2. 谷歌关心这一点,因为客户获得网页的速度越快,他们每天可以提供的服务就越多,因此他们赚的钱就越多(当然来自广告)。

于 2009-12-06T15:24:47.127 回答
0

为什么只有谷歌?微软也推出了 CDN,这些天我链接到 MS CDN 而不是 Google 来获取 Jquery。

如果我将您的问题改写为“从 CDN 链接有什么好处?”,我会这样回答。

  1. CDN 将有许多服务器,并且可能有一个位置较近且服务比您的服务器更好(更快),尽管这并不重要,因为通常 JQuery 将是您数据的一小部分。

就是这样。我想不出任何其他优势。没有任何。纳达。零。

事实上,我可以想到一个缺点,即您对内容的控制力会稍差一些。

不要认为大公司会慷慨地用他们的钱给你免费带宽。控制您的网站是他们的事。

于 2009-12-06T16:04:46.583 回答