2016-08-20 66 views
-2

我是网络开发新手我想知道通过CDN(内容交付网络)加载框架(jquery,bootstrap等)文件和连接服务器内的文件有什么区别?从CDN和从服务器本身加载框架的区别?

如:用于加载jQuery的

<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> 

<script type="text/javascript" src="js/jquery.min.js"></script> 

回答

1

使用CDN会降低页面加载时间应用户已经有本地缓存​​的该库的副本。这带来了如果CDN不可用,图书馆将无法送达的风险。

自己托管它将确保它始终可用,只要您的网站已启动。

理想情况下,您可以同时执行这两种操作,首先尝试CDN并回退到服务器上的版本。

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> 
<script> 
    if (typeof jQuery == 'undefined') { 
     document.write(unescape("%3Cscript src='/js/jquery.min.js' type='text/javascript'%3E%3C/script%3E")); 
    } 
</script> 
+0

这将禁止使用async'的',虽然。你可以使用手动脚本加载(这也避免了直接使用'document.write',显式设置CDN加载是同步的,并且你在那里检查。我个人比较喜欢这种方法,例如http:// www.html5rocks.com/en/tutorials/speed/script-loading/它变得复杂 –

-1

我宁愿使用CDN因为:

  1. 不同域

浏览器限制并发连接(文件下载)到单个域的数量。大多数允许四个活动连接,所以第五个下载被阻止,直到完全检索到先前的文件之一。从同一站点下载许多大文件时,您经常可以看到此限制。

CDN文件托管在不同的域上。实际上,单个CDN允许浏览器同时下载另外四个文件。

  • 文件可以被预先高速缓存的
  • jQuery是在网络上无处不在。访问您的网页的用户很可能已经使用Google CDN访问过网站。因此,该文件已被您的浏览器缓存,不需要再次下载。

  • 高容量的基础设施
  • 你可能有很大的主机,但我敢打赌,它并没有被谷歌,微软或雅虎提供的容量和可扩展性。更好的CDN提供更高的可用性,更低的网络延迟和更低的数据包丢失。

  • 分布式数据中心
  • 如果您的主要网站服务器设在达拉斯,从欧洲或亚洲的用户必须作出一些跨大陆电子跳跃时的他们访问你的文件。许多CDN提供更靠近用户的本地化数据中心,并导致更快的下载。

  • 内置版本控制
  • 它通常是可以链接到一个CSS文件或JavaScript库的特定版本。如果需要,您可以经常请求“最新”版本。

  • 使用分析
  • 许多商业的CDN提供文件的使用报告,因为它们一般每字节充电。这些报告可以补充您自己的网站分析,并且在某些情况下,可以提供更好的视频观看和下载体验。

  • 提高性能和节省金钱
  • 一个CDN可分配负载,节省带宽,提高性能并降低现有的托管费用 - 通常是免费的。

    资源:

    1:https://www.sitepoint.com/7-reasons-to-use-a-cdn/

    +0

    复制粘贴时请包含一个指向源代码的链接https://www.sitepoint.com/7-reasons-to-use- A-CDN / –