我们可以从百度等很多搜索引擎知道,CDN - 即内容分发网络。维基百科的解释是:内容分发网络是指一种透过互联网互相连接的电脑网络系统,利用最靠近每位用户的服务器,更快、更可靠地将音乐、图片、视频、应用程序及其他文件发送给用户,来提供高性能、可扩展性及低成本的网络内容传递给用户。
但是我们需要知道的不仅于此。
CDN能够做什么?
这是我们使用CDN的初衷,它能做什么?
一句话概括就是:安全、加速
使用CDN无非两个原因,隐藏源站IP保证安全,以及极大地提升网站访问体验-即网站加速。
安全
单独依靠CDN想要做到完全隐藏源站IP,对新手来说实在太难,有许多需要操作的东西并不是CDN可以搞定的。
举个简单的例子,我前不久刚买了一个域名,并建立了一个网站。
我从来没有在域名解析处设置指向源站IP的解析,一直都是指向CDN加速域名,同时邮箱,ping, nginx 源站IP反查也有做到位。在这种情况下,依然泄露了源站IP。当时就想换服务器了。后面想了想,再多的策略终究都有应对的办法。如果大佬真要搞你,办法实在太多。认怂才是王道。
所以这就是说,CDN的安全没有用么?
不,并不是,我们要知道,真正的大佬是很少的,互联网80%都是脚本小子,拿着DDOS脚本或者CC脚本或者部分攻击工具来进行攻击,能够防住这些人就行了。
简单的说来,我们使用CDN后在同时排除掉一些基本的能够反查IP的方法,那么就可以有效地隐藏源站IP!这就足够了,再多的骚操作,没有必要了。
加速
CDN的加速对于小带宽服务器来说简直不能再好,举个例子,当你点击升级服务器带宽时就知道了:
看见了么,1M带宽的升级费用一个月的都要192块钱了。而1M才等于多少kbs? 128KB/S!
这无疑是十分不值得的,有192块钱,拿去买个几TB CDN流量,一个中等站点都够用一年了。
CDN的加速,一般来讲,从静态和动态说来。
对于静态文件,比如图片,CDN能够将你的图片分发到它数十个节点所在地。
当你有访客访问时,就近取最近节点的数据给你的访客,这样就能够达到最快速的响应速度!同时减少你服务器的压力!
在这点上,有人疑惑,那COS呢?或者说云存储呢?
简单对比就知道了,云存储还有存储费用,理论上文件完全跟你服务器没有关系,这种方式绝不会对你网站服务器的造成访问压力。而CDN毕竟还需要回源,回源会对服务器造成一定压力。虽然很小,但终究是有的。
但是,云存储太贵了,除了存储费用之外,还有请求费用还有流量下行费用,这个那个的。费用要比单纯使用CDN要高很多。同时云存储极易被刷流量,一旦被刷,那费用直线上升。有点阔怕。
而CDN就不一样了,目前为止,我一直使用也一直推荐使用的CDN就四家:百度云,腾讯云,cloudflare, 和免备网。
至于为什么没有阿里以及其他厂商。阿里云,外号:吞金兽。跟其他很多厂商一样,没有CDN限速即封顶的设置。也就意味着,一旦被攻击或者被刷流量,一夜一套房真不是盖的。
有人会说,为什么有免备网。
拿这个去做网站备份不香么?
至于动态加速
本质上是对你网络的一个优化,简单举例就是,当用户访问你的网站,你的请求会被转发到离你服务器最优的访问节点上,然后再向你的服务器发送访问请求。
所以,CDN基本是网站的标配。并且在网站建设初期就应该使用。