什么文件适合用CDN加载
CDN主要适用于一些静态资源文件的加载,比如javascript文件、css样式文件、字体、图片、视频等其他资源文件。这些文件我们往往放到自己的一些前端服务器中做处理(nginx),使用CDN就可以免除前端服务器部分工作了。
使用CDN的好处
提升网站的性能
使用CDN最大的益处是为你的服务器提供“分流”,节省了你的带宽,减少了服务器的压力,很多CDN厂商提供的资源访问服务加载速度还是比较快的(墙内除外)。
文件缓存
对于那些被普遍使用的资源文件(比如jquery),如果用户在访问你网站之前已经访问过其他使用该CDN的网站,那么在用户浏览器中已经对该资源文件做了缓存,对于你的网站来说,这是个不错的性能提升!
高可用
相信微软、谷歌、雅虎的服务器相对于你自身的服务器来说更加可靠些,他们提供了高可用、低网络延迟,降低了数据包的丢失几率。你无需担心服务器宕机或者网络延迟的问题。
资源文件版本管理
对于某些资源文件的升级(css,js lib),你无需每次通过修改程序来加载最新的版本,只需要在加载CDN资源文件时指定始终加载"lastest"文件就可以。
CDN使用小贴士
省略URL的协议,去掉http:或者https:,这样就免去了协议的适配问题。如:
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
以防万一,提供一个备用的本地资源文件。
最近的google墙的很厉害,导致很多使用wordpress的站点,加载速度很慢,甚至直接导致页面无法加载,安全起见,我们提供一个本地的备份资源文件:
<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
if (typeof jQuery == 'undefined') {
document.write(unescape("%3Cscript src='/js/jquery-1.4.2.min.js' type='text/javascript'%3E%3C/script%3E"));
}
</script>
一些常用的CDN
Google: https://developers.google.com/speed/libraries/devguide
Microsoft: http://www.asp.net/ajaxlibrary/cdn.ashx
jQuery: http://jquery.com/download/
cdnjs: http://cdnjs.com
OSSCdn: http://osscdn.com