CDN技术是个啥?

我们先不聊CDN,来聊一聊普通的服务器。
  这几天,我买了一个腾讯云的服务器并在我自己的笔记本上配置好了服务器,但美中不足的是我买了地点在广东的服务器,我人在北京,距离算是中规中矩,但距离因素依然是影响网站加载快慢的关键因素,也就是说如果我回到黑龙江,博客的打开速度就会更慢了。
有问题人们就会解决问题,那么如何解决服务器和访问用户之间的距离带来的不便呢?CDN就应运而生了,CDN的本质也是服务器,并且CDN分布在全国各地,比如我在黑龙江发出访问博客请求后,如果我开通了CDN服务,那么广州的那台服务器在给我提供页面数据信息的同时选择我身边的一台CDN服务器,将我所访问的资源内容缓存在CDN中,当我再次访问时,就会直接就近访问这台离我很近的CDN服务器,这样就实现了访问的加速,所以其他人(在我附近区域)访问我的博客时,请求同样发到广东的服务器,广东服务器会指向之前缓存过信息的CDN服务器,实现了就近传输数据,达到了提速。当然,这么牛x的服务得加钱。
下面的视频可以加深理解:
https://www.bilibili.com/video/BV12T4y1P7Fh/?spm_id_from=333.788&vd_source=b6da26061de3320a8170666f06381a91

带宽,图像显示,图床,云存储COS
  在这篇博客中,你看到了大量的图片,这些图片的大小超过50MB,而我所购买的服务器带宽是4M,所以要加载出所有的图片,就需要50/(4/8)=100s,而且这还是在我没有带宽损耗,也就是我人得站在广东那台服务器旁边才能有这种速度,随着距离的增加带宽发生了损耗,导致距离越远数据传输越慢(这也就是为什么需要CDN来消除距离因素)。但你会发现,就算有CDN服务器,我网站的加载完毕时间也只能逼近100s,那该怎样缩短时间呢?
当你打开互联网上的任何网站,实际上你打开后只花了不到十秒就全加载完了,我们反观加载的原理,网站内容按照加载所需带宽大小可以分为两部分,正常内容和图片(占大比例的还是图片!),因此我们可以在加载图片上动手脚,那么如何更快加载图片呢?
  想更快加载一张图片,要么提升服务器的带宽,要么处理图像自身。下面我们来谈谈云存储技术,我们在做包含图片的网站时,经常把图像本身传到服务器中,以方便服务器调用发送给访问者,但服务器的带宽有限,我的就是4M,那怎样拓宽呢?首先腾讯云在卖服务器的时候就对带宽明码标价了,所以广东的那台腾讯云服务器本身的带宽就不用想了,但如果我们把图片存到其他服务器呢?用其他服务器的带宽来传输图片,你肯定会说,你这不就相当于自己又买了一台服务器来存图片吗?你说的没错,但也不完全对,我买的是有特定功能的服务器(存储类服务器,也就是云存储COS服务器,相比正规功能的服务器,这种特定功能的服务器极其便宜),就是我把网站要显示的图片存在了其他云服务器上,并生成访问链接:HTTP://XXXX。在博客网站的生成代码中我把图的访问路径换成了HTTP://XXXX 这种链接,如下:
https://blog-1315294080.cos.ap-beijing.myqcloud.com/19.png ,点击链接就可以生成图片

  这样有人在访问我的博客时,广东的服务器在加载博客网站的图片时,会访问这个图片的网址,这个网址部署在云存储COS服务器上,因此云存储COS服务器就会用它自己的带宽给我加载图片信息,这样就节省了广东服务器的4M带宽!因此就相当于你在打开我的博客的时候,传输资源的带宽=广东4MB+云存储COS服务器的带宽,一起加载。将图片转化成网页链接的过程,就是图床技术。因此同理,云存储技术还可以将文档,视频,音频如此操作,因此云存储可以针对很多类型资源进行操作。