【发布时间】:2013-11-25 22:45:23
【问题描述】:
HTML5Boilerplate 等[需要引用],大家都知道这样加载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?为什么只有 Google? HTML5Boilerplate 包括 normalize.css 和 modernizr.js,这两个文件都是流行的文件(可以说比 jQuery[disputed] 更流行和更重要)并且可用http://cdnjs.com/ 和许多其他 CDN。如果我们正在加载 jQuery,为什么不加载 2 个呢? jQuery 是从 CDN 加载的,因为它被延迟加载到页面底部,因此可以等待额外的 .1 秒从 CDN 获取它?我知道 Google CDN 是一个巨头,但其他 CDN 可以处理大量流量并不是不可想象的。
编辑:查看 Stack Overflow 的此页面代码,他们使用自己的 CDN 获取 10 多种资源,然后使用 Google 获取 jQuery。这一定是有充分理由的,对吧?
【问题讨论】:
-
“从我们自己的服务器上提供服务会更快吗?” 一般来说,不会。 “这对服务器来说更好吗?” 一种或另一种方式几乎没有区别
-
cdn 是无 cookie 的,而且跨域传播资源有助于加快加载速度,因为浏览器被限制为每个域的并发请求数
标签: javascript jquery html performance html5boilerplate