CDN是什么?为什么要使⽤CDN?
本⽂旨在作学习记录(原回答链接放置本⽂最下⽅),作者在此基础上进⾏补充说明、整理论述,使其能以⼀种更为逻辑地清晰地⽅式表达出“CDN是什么?”的理解,可作对CDN是什么的简要了解。
⼀、HTML的⽂件引⽤:
HTML的⽂件头(也有⽂件中,⽂件尾)那边常有其他⽂件引⽤,⽐如CSS以及JS的引⽤。就以bootstrap常⽤的引⽤来举个例⼦,你常见的引⽤可能会是这样的:
<head>
<title>Mushroom</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" charset="utf-8">jquery是什么有什么作用
<meta http-equiv="X-UA-Compatible" content="IE=edge,Chrome=1" />
<meta http-equiv="X-UA-Compatible" content="IE=9" />
<!-- 引⼊ Bootstrap -->
<link href="/css/bootstrap.min.css" rel="stylesheet">
<!-- jQuery (Bootstrap 的 JavaScript 插件需要引⼊ jQuery) -->
<script src="/js/jquery.min.js"></script>
<!-- 包括所有已编译的插件 -->
<script src="/js/bootstrap.min.js"></script>
</head>
这之中,<script src="/js/bootstrap.min.js"></script> 这段就是外部脚本⽂件的⼀个链接,当前的这种链接是相对URL,指向站点内的⽂件,即你本项⽬⾥对应路径下⾯放置的⽂件。可以在 查看这个标签的具体属性。
属性值
值描述
URL 外部脚本的 URL。可能的值有:
•绝对 URL - 指向其他站点(⽐如 src="ample/example.js")
•相对 URL - 指向站点内的⽂件(⽐如 src="/scripts/example.js")
通过查看可以得知,URL的引⽤有两种⽅式,绝对和相对,绝对的⽅式就是直接引⽤其他站点的js地址,⽐如我把上⽅的引⽤改为
<script src="apps.bdimg/libs/bootstrap/3.3.0/js/bootstrap.min.js"></script>
这样即是引⽤其他站点的js。CSS⽂件的引⽤与此类似:。图⽚以及其他⽂件的引⽤也类似,不赘述。
⼆、系统的资源引⽤
在⼀个⽹站项⽬中,页⾯⾥经常会有许多js以及css的引⽤,接触过开发项⽬的⼀般都会了解,⼤部分界⾯⾥的脚本引⽤并不是像第⼀步⾥的那么精简,如果是直接引⽤项⽬内⽂件的话,他们可能是这样的:
<SCRIPT src="/iforums/templates/default/js/common.js" type=text/javascript></SCRIPT>
<SCRIPT src="/iforums/templates/default/js/ajax.js" type=text/javascript></SCRIPT>
<SCRIPT type=text/javascript src="/iforums/ueditor/third-party/jquery-1.10.2.min.js"></SCRIPT>
<SCRIPT type=text/javascript src="/iforums/fig.js"></SCRIPT>
<SCRIPT type=text/javascript src="/iforums/ueditor/ueditor.parse.js"></SCRIPT>
<SCRIPT type=text/javascript src="/iforums/ueditor/ueditor.all.js"></SCRIPT>
可能甚⾄引⽤的更多,这样将资源⽂件与业务代码⼀锅炖的⽅式适⽤于⼩型的,应⽤服务器压⼒并不是太⼤的系统(并发、带宽、存储空间、资源等等)。这种⽅式的优点是开发省⼒,发布省⼒,对服务器要求⼩,省钱,没有具体公⽹接⼊需求。许多⼩型,内部使⽤型的⽹站系统往往采取这种形式放置资源⽂件。
三、系统访问量变⾼了,速度变慢了怎么办
怎么办?优化系统部署呗。
怎么优化?优化⽅式有很多,读写分离,负载均衡,这⽅⾯的东西可以讲上三天三夜。具体到本问题
的范畴内,那就是资源服务器与应⽤服务器的分离。粗暴的理解⽅式就是,就是应⽤放置于应⽤服务器(⼀台或者是集),资源放置于在资源服务器(⼀台或者是集),这时候,js以及css的引⽤就需要更改为绝对URL,指向对应的资源服务器。
四、CDN的⼯作实例
与传统访问⽅式(即客户端→服务器)不同,CDN⽹络则是在⽤户和服务器之间增加缓存节点(或叫边缘节点),根据节点路径和节点负载程度,将⽤户的访问请求引导到最优的缓存节点⽽不是服务器中⼼节点(或叫源站点),从⽽加速访问速度。若缓存节点没有⽬标资源,则向中⼼节点发出请求,将请求后的资源复制到⾃⾝节点中,并返回请求后的资源给客户端。理解如下图。
优点简括:解决Internet⽹络拥堵状况,提⾼⽤户访问⽹络的响应速度。
五、参考
参考内容:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论