二、CDN工作原理

传统访问过程

传统访问过程

由上图可见,用户访问未使用CDN缓存网站的过程为:

CDN访问过程

CDN访问过程

通过上图,我们可以了解到,使用了CDN缓存后的网站的访问过程变为:

通过以上的分析我们可以得到,为了实现对普通用户透明(使用缓存后用户客户端无需进行任何设置)访问,需要使用DNS(域名解析)来引导用户来访问Cache服务器,以实现透明的加速服务. 由于用户访问网站的第一步就是域名解析,所以通过修改dns来引导用户访问是最简单有效的方式.

CDN网络的组成要素

对于普通的Internet用户,每个CDN节点就相当于一个放置在它周围的网站服务器. 通过对dns的接管,用户的请求被透明地指向离他最近的节点,节点中CDN服务器会像网站的原始服务器一样,响应用户的请求. 由于它离用户更近,因而响应时间必然更快.

从上面图中 虚线圈起来的那块,就是CDN层,这层是位于 用户端 和 站点服务器 之间.

三、名词解释

CNAME记录(CNAME record)

CNAME即别名( Canonical Name );可以用来把一个域名解析到另一个域名,当 DNS 系统在查询 CNAME 左面的名称的时候,都会转向 CNAME 右面的名称再进行查询,一直追踪到最后的 PTR 或 A 名称,成功查询后才会做出回应,否则失败。

例如,你有一台服务器上存放了很多资料,你使用docs.example.com去访问这些资源,但又希望通过documents.example.com也能访问到这些资源,那么你就可以在您的DNS解析服务商添加一条CNAME记录,将documents.example.com指向docs.example.com,添加该条CNAME记录后,所有访问documents.example.com的请求都会被转到docs.example.com,获得相同的内容。

CNAME域名

接入CDN时,在CDN提供商控制台添加完加速域名后,您会得到一个CDN给您分配的CNAME域名, 您需要在您的DNS解析服务商添加CNAME记录,将自己的加速域名指向这个CNAME域名,这样该域名所有的请求才会都将转向CDN的节点,达到加速效果。

DNS

DNS即Domain Name System,是域名解析服务的意思。它在互联网的作用是:把域名转换成为网络可以识别的ip地址。人们习惯记忆域名,但机器间互相只认IP地址,域名与IP地址之间是一一对应的,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,整个过程是自动进行的。比如:上网时输入的www.baidu.com会自动转换成为220.181.112.143。

常见的DNS解析服务商有:阿里云解析,万网解析,DNSPod,新网解析,Route53(AWS),Dyn,Cloudflare等。

回源host

回源host:回源host决定回源请求访问到源站上的具体某个站点。

协议回源

指回源时使用的协议和客户端访问资源时的协议保持一致,即如果客户端使用 HTTPS 方式请求资源,当CDN节点上未缓存该资源时,节点会使用相同的 HTTPS 方式回源获取资源;同理如果客户端使用 HTTP 协议的请求,CDN节点回源时也使用HTTP协议。 - END -

cdn搭建原理_一文搞懂CDN加速原理相关推荐

  1. android handler的机制和原理_一文搞懂handler:彻底明白Android消息机制的原理及源码

    提起Android消息机制,想必都不陌生.其中包含三个部分:Handler,MessageQueue以及Looper,三者共同协作,完成消息机制的运行.本篇文章将由浅入深解析Android消息机制的运 ...

  2. l293d电机驱动原理_一文搞懂步进电机特性、原理及驱动器设计

    1.步进电机的概念 步进电机是将电脉冲信号,转变为角位移或线位移的开环控制电机,又称为脉冲电机.在非超载的情况下,电机的转速.停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响.当步进驱动 ...

  3. hmr webpack 不编译_一文搞懂 webpack HMR 原理

    关注「前端向后」微信公众号,你将收获一系列「用心原创」的高质量技术文章,主题包括但不限于前端.Node.js以及服务端技术 一.HMR Hot Module Replacement(HMR)特性最早由 ...

  4. python语言语句快的标记是什么_一文搞懂Python程序语句

    原标题:一文搞懂Python程序语句 程序流 Python 程序中常用的基本数据类型,包括: 内置的数值数据类型 Tuple 容器类型 String 容器类型 List 容器类型 自然的顺序是从页面或 ...

  5. 天线巴伦制作和原理_一文看懂巴伦(功能原理、性能参数、基本类型)

    原标题:一文看懂巴伦(功能原理.性能参数.基本类型) 巴伦(英语为balun)为一种三端口器件,或者说是一种通过将匹配输入转换为差分输出而实现平衡传输线电路与不平衡传输线电路之间的连接的宽带射频传输线 ...

  6. pythonxpath定位_一文搞懂 XPath 定位

    一文搞懂XPath 定位 XPath (XML Path Language) 是一门在 XML 文档中查找信息的语言,可用来在 XML 文档中对元素和属性进行遍历. XPath定位在爬虫和自动化测试中 ...

  7. 一文搞懂CDN(内容分发网络),涉及HTTP静态资源、DNS支持、GSLB(全局负载均衡)、云服务器

    一.什么是 CDN ? 全称是 Content Delivery Network/Content Distribution Network,翻译过的意思是 内容分发网络 .CDN让用户实现了对资源的就 ...

  8. 一文搞懂线程池原理——Executor框架详解

    文章目录 1 使用线程池的好处 2 Executor 框架 2.1 Executor 框架结构 2.2 Executor 框架使用示意图 2.3 Executor 框架成员 2.3.1 Executo ...

  9. reactrouter监听路由变化_一篇文章搞懂前端路由原理解析和实现方式

    在单页应用如此流行的今天,曾经令人惊叹的前端路由已经成为各大框架的基础标配,每个框架都提供了强大的路由功能,导致路由实现变的复杂. 想要搞懂路由内部实现还是有些困难的,但是如果只想了解路由实现基本原理 ...

最新文章

  1. linux终端中运行网银盾,Linux下使用Virtualbox安装 Windows 7 操作网银攻略
  2. c语言三个数按大小排列怎么编程,C语言三个数排列大小的实现方法
  3. 通俗易懂。Cocos2dx和Unity3D概念,二者区别?哪个更好一点?
  4. python程序结构框架_Python——Flask框架——程序的基本结构
  5. Linux中b设备是什么,linux-将新设备添加到b??trfs卷中,但是可用...
  6. Unix环境高级编程(十)信号续
  7. 数据处理——数据编码
  8. 前端性能优化之重排和重绘
  9. 64位系统装32和64位oracle,64位系统安装32位Oracle developer
  10. 思科模拟器(交换机,路由器综合项目)
  11. STATA进行回归分析时,自变量是分类变量,如何设置哑变量?
  12. android 游戏音效格式,Android基础 - Android Studio 添加游戏音效
  13. LM2596/LM2596S多路降压稳压DC-DC开关电源芯片详解(第二部分:电路设计)(12V转5V、12V转3.3V、任意电压转任意电压)
  14. CRMEB打通版简单一步实现类似京东的PLUS会员功能
  15. 全球及中国农业微量营养素行业商业模式分析及投资风险预测报告2022-2028年版
  16. 微信公众号-- 微信分享功能(分享到朋友和朋友圈显示图片和简介)
  17. Windows 10 下安装pycrypto时出错的解决问题
  18. unordered_set和unordered_map用法详解
  19. Neo4j入门级学习笔记
  20. 实战 | 用 Python 轻松制作好看的心型照片墙

热门文章

  1. 【IOS账号分享】《隐形守护者》
  2. 埃及分数c语言设计,埃及分数(四)
  3. 我爱程序员-尘世中一个迷途小书童
  4. 关于PDSCH的码字个数问题
  5. 计算机二级考试题库office题型,全国计算机二级office考试题型分析
  6. 膜拜大佬!java理论知识思维导图
  7. Knuth Shuffle
  8. sublime 复制黏贴等快捷键修改
  9. 深圳内推 | 粤港澳大湾区数字经济研究院招聘NLP/多模态算法实习生
  10. webView与H5交互技术