一、CDN是什么?
1、专业解释
CDN的全称是Content Delivery Network,即内容分发网络。
CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。
2、简而言之:
CDN可以称为互联网中的物流服务,系统将源站内容分发至最接近用户的边缘节点。
CDN可以远远提高用户的访问的响应速度和成功率,解决因分布、带宽、服务器性能带来的访问延迟问题,适用于站点加速、点播、直播等场景。
CDN的关键技术主要有内容存储和分发技术。
3、CND的功能:
(1)节省骨干网带宽,减少带宽需求量;
(2)提供服务器端加速,解决由于用户访问量大造成的服务器过载问题;
(3)服务商能使用Web Cache技术在本地缓存用户访问过的Web页面和对象,实现相同对象的访问无须占用主干的出口带宽,并提高用户访问因特网页面的相应时间的需求;
(4)能克服网站分布不均的问题,并且能降低网站自身建设和维护成本;
(5)降低“通信风暴”的影响,提高网络访问的稳定性。
二、CDN原理、特点
1、原理
1)、用户向浏览器提供需要访问的域名;
2)、浏览器调用域名解析库对域名进行解析,由于CDN对域名解析过程进行了调整,所以解析函数库一般得到的是该域名对应的CNAME记录,为了得到实际的IP地址,浏览器需要再次对获得的CNAME域名进行解析以得到实际的IP地址;在此过程中,使用的全局负载均衡DNS解析。如根据地理位置信息解析对应的IP地址,使得用户能就近访问;
3)、此次解析得到CDN缓存服务器的IP地址,浏览器在得到实际的ip地址之后,向缓存服务器发出访问请求;
4)、缓存服务器根据浏览器提供的要访问的域名,通过Cache内部专用DNS解析得到此域名的实际IP地址,再由缓存服务器向此实际IP地址提交访问请求;
5)、缓存服务器从实际IP地址得到内容以后,一方面在本地进行保存,以备以后使用,二方面把获取的数据放回给客户端,完成数据服务过程;
6)、客户端得到由缓存服务器返回的数据以后显示出来并完成整个浏览的数据请求过程。
总之:
CDN加速意思就是在用户和我们的服务器之间加一个缓存机制,通过这个缓存机制动态获取IP地址根据地理位置,让用户到最近的服务器访问。
2、特点:
1)、本地Cache加速:
提高了企业站点(尤其含有大量图片和静态页面站点)的访问速度,并大大提高以上性质站点的稳定性。
2)、镜像服务:
消除了不同运营商之间互联的瓶颈造成的影响,实现了跨运营商的网络加速,保证不同网络中的用户都能得到良好的访问质量。
3)、远程加速:
远程访问用户根据DNS负载均衡技术智能自动选择Cache服务器,选择最快的Cache服务器,加快远程访问的速度。
4)、带宽优化:
自动生成服务器的远程Mirror(镜像)cache服务器,远程用户访问时从cache服务器上读取数据,减少远程访问的带宽、分担网络流量、减轻原站点WEB服务器负载等功能。
5)、集群抗攻击:
广泛分布的CDN节点加上节点之间的智能冗余机制,可以有效地预防黑客入侵以及降低各种D.D.o.S攻击对网站的影响,同时保证较好的服务质量 。
三、使用场景、实例说明、CDN常用服务URL
1、使用场景
用户遍布区域广,静态文件(HTML、图片、CSS、Js文件)多、大文件下载、视频下载,短视频分发、点播、直播等。
2、实例说明
1)、 使用免备案CDN方式引入bootstrap CSS文件:
<script src="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css"></script>
2)、使用高防CDN方式引入JQuery库文件:
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
3)、使用国内CDN方式引入Vue.js库文件:
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
3、CDN常用服务列表
包括Bootstrap、Jquery、Vue、React、Angular、Chart.js、Backbone.js、jqueryui、tree.js、ionic、pdf.js等所有js库文件,css库文件