托pipevs链接到第三方脚本

我注意到很多网站都链接到位于第三方主机上的外部脚本。 一个非常常见的例子是jQuery。 在serverfault / stackoverflow /超级用户jquery链接到googleapis.com的地址。

这与在您自己的网站上托pipe文件有什么好处?

一些因素可以如下:

在自己的主机上

  • 访问者的隐私,不向第三方透露
  • 不会被浏览器请求策略所困扰
  • 不依赖于第三方正常运行时间

第三方托pipe

  • 带宽/stream量
  • 自动更新

但是select其中一个的主要原因是什么?

虽然我有我自己的意见,但是我的这个问题的目标是了解为什么要做其他的select。

速度。 我们从Google AJAX Libraries API加载jQuery,jQuery UI,这就增加了访问者caching中这些库的caching版本的机会。 Google的基础架构/ CDN比我们自己的networking服务器更适合用于服务这些types的静态文件。

除此之外,节省的带宽是真实的 – 这两个库相当重。

答:我不相信任何其他主机足以在他们的网站上托pipe一个图书馆。 对于未在Google上列出的任何图书馆,我们自行承办。

我认为唯一真正的原因是始终保持最新。

我反对链接库,脚本等,因为我认为我的stream量统计是一个值得保存在家里。

而且,lib的托pipe和更新是相当简单的,cronjob可以轻松,高效和安全地实现这个技巧。

如果链接到资源以节省带宽(或者在大型公共库中尝试改善用户的响应时间),请注意两个潜在的主要问题:

  1. 由于事故,DoS或有计划的维护,外部主机可能会在某个时间点closures。 这可能会导致您的网站中断,所以请确保您的帐户(如果只是通过给用户一个有用的信息,如“无法加载JQuery,一些function可能会被打破。请刷新本页。如果问题仍然存在,请报告至 …”
  2. 当出现新版本时,由于错误的假设(即,您依赖于在版本之间更改的未公开的或未正式定义的行为,或者新function带来了命名空间冲突),可能与您的其他代码存在一些不兼容问题。 这可能会打破您的网页,直到find并解决问题。

如果你热链接到一个脚本或任何其他重要的应用程序运行请确保你保留本地副本。 这样,如果上述问题中的任何一个发生,并且不能很快修复,就可以使用本地副本作为临时措施。