可能是重复问题:
为什么我应该使用Google的CDN来获取jQuery?
我看到很多网络程序员从Google的ajax api库中包括Jquery库。除了节省一些空间外,不将这些库托管在我们的服务器上是否有任何真正的优势?这样做是一个好习惯吗?
可能是重复问题:
为什么我应该使用Google的CDN来获取jQuery?
我看到很多网络程序员从Google的ajax api库中包括Jquery库。除了节省一些空间外,不将这些库托管在我们的服务器上是否有任何真正的优势?这样做是一个好习惯吗?
CDN即内容分发网络(托管库)
尽管你应该始终拥有本地缓存以防远程存储失败。(HTML5 Boilerplate很好地演示了这一点):
<!-- Grab Google CDN's jQuery, with a protocol relative URL; fall back to local if necessary -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.js"></script>
<script>window.jQuery || document.write('<script src="js/libs/jquery-1.5.1.min.js">\x3C/script>')</script>
优点:
节省流量。jQuery等工具会占用大量流量,而Google等CDN服务专门用于解决这个问题,如果有人能够提供这样的内容,比这些网络更快。
长期以来,浏览器无法从一个域名加载超过两个Javascript文件。如果您使用来自google.com的jQuery,则您的浏览器可以同时加载其他应用程序特定文件。今天是否重要是个问题
许多人使用Google或Microsoft服务或访问与其jQuery版本链接的网站。这意味着您有很大的机会,您的浏览器已经在某个地方缓存了jQuery - 加载时等待时间更短!
缺点:
用户访问您的网站时,他们已经缓存了Google的版本,而不是您自己托管的版本,这样速度会更快,可能性更大。
您不必托管它
您不需要处理缓存(除非您使用备用方法且Google的版本已停止)
如果用户在欧洲,而您的服务器在法戈,则他们很可能从更近的服务器下载Google的版本,速度更快,可能性更大。
节省带宽(每一点都很重要,尤其是当您正在支付时)
我建议您查看Html5Boilerplate,他们实现了一个很好的备用方法,以便在无法访问Google的CDN时使用。