使用CDN(内容分发网络)的主要好处是,由于其用途广泛,机会是你的访问者可能已经拥有你想在他们的浏览器加载脚本的缓存副本。这将完全否定任何加载时间。如果他们没有缓存副本,那么CDN可能会以比您的服务器更快的速度将其传递给他们。我认为最好在可能的情况下使用CDN。
即使考虑到这一点,CDN也不是绝对可靠的,并且您不希望您的网站100%依赖别人的服务器。我建议在本地创建一个脚本副本,并尽可能将其用作备份。 jQuery的,这是很简单的:如果他们加载
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
if (typeof jQuery == 'undefined') {
document.write(unescape("%3Cscript src='/Scripts/jquery-1.7.1.min.js' type='text/javascript'%3E%3C/script%3E"));
}
</script>
其他库可以在他们的方法进行测试有所不同,但思路是一样的。
同样值得注意的是,如果您是从Google的CDN加载ALWAYS,请使用完整版本号,否则脚本将不会被缓存。
也就是说,如果您的请求的URL看起来像这样:
"http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js" // highest 1.4 version (1.4.4)
"http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js" // latest version (1.7.1)
Expires头设置先前为当前日期,因此缓存的效果无效。
More info on this here
CDN最大的缺点是它可能没有'fonctions.js'。 –
对不起,我的意思是jquery.js,是一个错误! – remyremy
有趣的是,有多少答案从他们的答案中省略了地理位置(只有一个答案谈论它,+1 @ eureka)。由于CDN上的数据遍布世界各地的数据中心,因此使用CDN可以极大地减少数据传输的物理距离。 – Jasper