为什么HTML5Boilerplate和其他人使用CDN进行jQuery?

时间:2013-11-25 22:45:23

标签: javascript jquery html performance html5boilerplate

HTML5Boilerplate和其他 [citation needed] ,以这种方式加载jQuery,我们都知道:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="js/vendor/jquery-1.10.2.min.js"><\/script>')</script>

这对用户来说是否更好?保持DNS查找率较低是一种很好的做法,除非我们也从Google获取jQuery-UI或其他框架,否则这是我们从中获取的唯一资源他们的CDN。从我们自己的服务器上提供服务会更快吗?

这对服务器来说是否更好?我们是否真的通过使用Google的CDN来保存这个相对较小的文件,而不是自己提供服务?

为什么只是jQuery?为什么只有谷歌? HTML5Boilerplate包括normalize.css和modernizr.js,这两者都是流行的文件(可以说更受欢迎,更多的是主食而不是jQuery [有争议] )并且可用在http://cdnjs.com/以及其他一些CDN。如果我们正在加载jQuery,为什么不加载那些2?是否从CDN加载jQuery,因为它被推迟加载到页面底部,因此可以等待额外的.1s从CDN获取它?我知道Google CDN是一个巨头,但其他CDN可以处理大量流量并不是不可想象的。

编辑:查看Stack Overflow此页面的代码,他们使用自己的CDN获取10多个资源,然后使用Google进行jQuery。这有充分的理由,对吗?

4 个答案:

答案 0 :(得分:3)

  

这对用户来说更好吗?

是的,尤其是受欢迎的库,因为它们可能已经缓存在用户的浏览器上。 Google服务器比您的服务器更快,更可靠;大多数CDN也是如此。

  

这对服务器来说更好吗?

嗯,你提供的数据更少。

  

为什么只是jQuery?为什么只是谷歌?

不只是jQuery,而不仅仅是Google。关键是尽可能使用CDN(并回退到您的服务器版本)以从速度和缓存中受益。标准化非常小,但我认为您仍然可以从使用CDN中受益。至于Modernizr,您希望使用为您的需求而构建的自定义版本,这是使用该库的推荐方式。

答案 1 :(得分:2)

使用cdn的一些说法是用户可能在缓存中使用它,他们不必专门为您的网站下载文件。

至于使用谷歌CDN,它们是巨大的,拥有惊人的基础设施;为什么不呢?

另外我认为谷歌与html5boiler牌照有关联(至少有一个维护者适用于google

答案 2 :(得分:1)

当您从Google提取jQuery时,很有可能它已从之前的网站缓存,阻止了额外的下载。

答案 3 :(得分:1)

我们已多次在回购中讨论过这个问题。这是recent最多的{{3}}。很多意见,一些测试,一些超级聪明,经验丰富的人在那里提供2美分。一个有趣,有益的讨论。

一般来说,任何你对h5bp感到疑惑的事情都在公开的地方进行过讨论。

要将其缩小,使用CDN是因为它是最好的默认配置。如果人们下载HTML5 Boilerplate而不对代码执行任何其他操作,那么将其链接到Google CDN是最佳默认设置。它提供地理优化,快速服务器,无cookie的域以及点击缓存抽奖的机会

到目前为止,它也是最受欢迎的CDN,所以如果你想使用第三方服务,那么如果你想要获得缓存副本的机会很大。

如果您有任何其他问题,请再次提及问题中 ton 的详细信息。