什么是CDN缓存?CDN的入门了解

时间: 2018-06-04阅读: 1410标签: CDN

前言

这段时间,在工作中遇到了一个CDN导致的图片资源加载的错误,在排查问题的过程中,发现自己对CDN的了解非常的片面,仅仅停留在它能缓存静态资源,提升访问速度的了解中。所以觉得还是非常有必要深入去了解下。


什么是CDN?

CDN的全称是Content Delivery Network,即内容分发网络,是指一种通过互联网互相连接的电脑网络系统,利用最靠近每位用户的服务器,更快、更可靠地将音乐、图片、视频、应用程序及其他文件发送给用户,来提供高性能、可扩展性及低成本的网络内容传递给用户。————维基百科


CDN的基本工作过程

最简单的CDN网络是由一台CDN服务器和多台缓存服务器构成。
主要工作过程为:

  • 当用户点击网站页面上的内容URL,经过本地DNS系统解析,DNS系统会最终将域名的解析权交给CNAME指向的CDN专用DNS服务器。
  • DN的DNS服务器将CDN的全局负载均衡设备IP地址返回用户。
  • 用户向CDN的全局负载均衡设备发起内容URL访问请求。
  • CDN全局负载均衡设备根据用户IP地址,以及用户请求的内容URL,选择一台用户所属区域的区域负载均衡设备,告诉用户向这台设备发起请求。
  • 区域负载均衡设备会为用户选择一台合适的缓存服务器提供服务,选择的依据包括:根据用户IP地址,判断哪一台服务器距用户最近;根据用户所请求的URL中携带的内容名称,判断哪一台服务器上有用户所需内容;查询各个服务器当前的负载情况,判断哪一台服务器尚有服务能力。基于以上这些条件的综合分析之后,区域负载均衡设备会向全局负载均衡设备返回一台缓存服务器的IP地址。
  • 全局负载均衡设备把服务器的IP地址返回给用户。
  • 用户向缓存服务器发起请求,缓存服务器响应用户请求,将用户所需内容传送到用户终端。如果这台缓存服务器上并没有用户想要的内容,而区域均衡设备依然将它分配给了用户,那么这台服务器就要向它的上一级缓存服务器请求内容,直至追溯到网站的源服务器将内容拉到本地。


为什么需要CDN

根本上的原因是访问速度,访问速度对互联网应用的用户体验,甚至说各种指标(DAU,PV,UV,营收...)都有巨大的影响,任何的互联网企业都渴望自己站点有更快的访问速度和更好的用户体验。而HTTP传输时延对web的访问速度的影响很大(HTTPS更耗时),在绝大多数情况下是起决定性作用的,这是由TCP/IP协议的一些特点决定的。

想要提高访问速度,最直接的做法就是多部署几个服务器在不同的地方,让当前访问用户更靠近服务器。但是多设置几个服务器又会有其他乱七八糟的问题(异地部署,访问一致性,服务管理,成本变高等等)。

这个时候就体现出CDN的作用了。CDN本身是一种公共服务,他本身有很多台位于不同地域、接入不同运营商的服务器,而所谓的使用CDN实质上就是让CDN作为网站的门面,用户访问到的是CDN服务器,而不是直接访问到网站。由于CDN内部对TCP的优化、对静态资源的缓存、预取,加上用户访问CDN时,会被智能地分配到最近的节点,降低大量延迟,让访问速度可以得到很大提升。


最后

掌握CDN工作流程或者基本的原理这种知识,对于一个前端来说,在甩锅的时候更方便。当然最主要是为了解决工作中的问题。


原文来源:https://segmentfault.com/a/1190000015151593?utm_source=channel-hottest


CDN的使用场景和操作细节

随着互联网的发展,各种网络应用也雨后春笋般的发展,应用越做越大,访问路径越来越长,用户的访问质量受到严重的影响,特别是用户和网站之间的链路被突发的大流量数据拥堵、异地访问急需加速,减少网络费用等因素

前端工程之CDN部署_前端为什么非要动静分离?说一下CDN托管的意义

大型Web应用对速度的追求并没有止步于仅仅利用浏览器缓存,因为浏览器缓存始终只是为了提升二次访问的速度,对于首次访问的加速,我们需要从网络层面进行优化,最常见的手段就是CDN(Content Delivery Network,内容分发网络)加速

vue.js的cdn引用地址有哪些?

vue 是一套用于构建用户界面的渐进式框架。我们使用采用cdn的方式来引入vue,可以缓解我们服务器的压力,原理是将我们的压力分给其他服务器点。

CDN与DNS知识汇总_CDN/DNS是什么?有什么好处?

在性能优化的时候,比较常见的一个建议是,把资源部署在CDN上,那么问题来了,CDN是什么?这样做有什么好处?讲完DNS,现在可以开始讲CDN了,CDN的全称是Content Delivery Network,即内容分发网络

各个版本的jquery引用地址总结,jquery cdn公共库地址总汇

jquery作为前端常使用的插件之一,一般我们不使用下载到本地引用,直接通过CDN 公共库来加载,这篇文章就总结各个版本的jquery引用地址。

fly63.com版权所有,内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权,请与小编联系!情况属实本人将予以删除!

广告赞助文章投稿关于web前端网站点搜索站长推荐网站地图站长QQ:522607023

小程序专栏: 土味情话心理测试脑筋急转弯幽默笑话段子句子语录成语大全