03:CDN原理
1.1 CDN简介
1、CDN作用(缓存静态资源)
1. CDN的全称Content Delivery Network,(缩写:CDN)即内容分发网络。
2. CDN解决由于网络带宽小、用户访问量大、网点分布不均而产生的用户访问网站响应速度慢的根本原因。
3. 适用场景:访问量大的网站(如:在线视频、游戏、图片、音频、社交、电商、下载站等)
4. CDN就是将内容缓存在离用户更近的节点上,以此来提高用户体验;
5. 所以CDN适用于具有一定量级的静态资源访问,包括html,js,css,apk,mp3,flv,jpg,gif、mp4、flv等所有的静态资源。
2、CDN各组件
注:CDN是一种组合技术,其中包括 源站、缓存服务器、智能DNS、客户端等几个重要部分。
1)源站
1. 源站指发布内容的原始站点,添加、删除和更改网站的文件,都是在源站上进行的;
2. 另外缓存服务器所抓取的对象也全部来自于源站。
2)缓存服务器
1. 缓存服务器是直接提供给用户访问的站点资源,有一台或数台服务器组成;
2. 当用户发起访问时,他的访问请求被智能DNS定位到离他较近的缓存服务器。
3. 如果用户所请求的内容刚好在缓存里面,则直接把内容返还给用户;
4. 如果访问所需的内容没有被缓存,则缓存服务器向邻近的缓存服务器或直接向源站抓取内容,然后再返还给用户。
3)智能DNS
1. 智能DNS是整个CDN技术的核心,它主要根据用户的来源,将其访问请求指向离用户比较近的缓存服务器
2. 如把广州电信的用户请求指向到广州电信IDC机房中的缓存服务器。
3. 通过智能DNS解析,让用户访问同服务商下的服务器,消除国内南北网络互相访问慢的问题,达到加速作用。
4. 智能DNS的出现,颠覆了传统的一个域名对应一个镜像的做法,让用户更加便捷的去访问网站。
4)客户端
1. 客户端或称用户端即发起访问的普通用户,一般的访问方式是浏览器。
3、在CDN环境下访问网站的两种形式
1)缓存服务器已经缓存过要请求的数据
1. 访问被CDN加速的站点 时,从本地的DNS查询域名,最终可能在全局智能DNS服务器,获取到最近CDN缓存服务器IP
2. 要访问的内容正好已经缓存在当前CDN服务器中,CDN直接返回数据,完成一次访问请求
2)缓存服务器没有缓存过要请求的数据
1. 访问被CDN加速的站点 时,从本地的DNS查询域名,最终可能在全局智能DNS服务器,获取到最近CDN缓存服务器IP
2. CDN服务器中没有缓存要请求的内容,CDN缓存服务器先从源站获取得到这个对象,缓存并把内容返还给B网用户。
03:CDN原理的更多相关文章
- 机器学习实战(Machine Learning in Action)学习笔记————03.决策树原理、源码解析及测试
机器学习实战(Machine Learning in Action)学习笔记————03.决策树原理.源码解析及测试 关键字:决策树.python.源码解析.测试作者:米仓山下时间:2018-10-2 ...
- CDN原理加速解析
CDN概念 CDN全称叫做“Content Delivery Network”,中文叫内容分发网络. 原理分析 我们知道,当我们使用域名访问某一个网站时,实际上就是将请求包(以Http请求为例)通 ...
- CDN原理
要了解CDN的实现原理,首先让我们来回顾一下网站传统的访问过程,以便理解其与CDN访问方式之间的差别: 由上图可见,传统的网站访问过程为:1. 用户在浏览器中输入要访问的域名:2. 浏览器向域名解析服 ...
- CDN原理介绍(转)
内容分发网络(Content delivery network或Content distribution network,缩写:CDN)是指一种通过互联网互相连接的电脑网络系统,利用最靠近每位用户的服 ...
- cdn原理的理解
今天要做个小笔记,浅谈一下对cdn的一些理解,在工作中我们经常用到cdn代理访问,那他的原理是什么不知道大家有没有考虑过 CDN的基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集 ...
- CDN原理解析
首先,让我们来看一下传统的Internet网络的基本结构和数据传输情况,如下图所示 根据传统的网络结构,用户的访问流程基本如下: 用户在自己的浏览器中输入要访问的网站的域名 浏览器向本地DNS请求 ...
- 03 Yarn 原理介绍
Yarn 原理介绍 大纲: Hadoop 架构介绍 YARN 产生的背景 YARN 基础架构及原理 Hadoop的1.X架构的介绍 在1.x中的NameNodes只可能有一个,虽然可以通过Se ...
- 关于cdn原理(就是内容分发网络)
cdn,我理解其本质就是为了解决距离远产生的速度问题,使用就近的服务. 从中国请求美国一台服务器上的图片.一般比较慢,因为距离这么远,网络传输是存在损耗的,距离越远,传输的时间就越长.一般会看到浏览器 ...
- CDN原理实现详情
CDN真是个好东西,但是究竟是怎么实现的呢, 学习下吧 首先浏览器发起请求 Dns解析寻找服务器资源 使用CDN加速的内容会被放到不同的服务器上 根据用户的请求来判断 -- 算了表达不清楚,看图吧! ...
随机推荐
- [原]Jenkins(二十一) jenkins再出发Build periodically和Poll SCM
缘由: 使用jenkins的目的需要固定时间构建和间隔固定时间构建,所以才会用到这两个功能. 位置:这两个功能的位置位于每个job的config项中,如下图: [重要的注意点:] ...
- Mac os的使用
来北京入职java开发实习,公司标配macook.一开始不会使用macos系统,用起来很不适应,我是拒绝的.但是leader说mac是开发效率最高的工具了·.一开我很怀疑,后来觉得mac系统用起来还真 ...
- 配置非安装版tomcat服务
1.设置服务名称,进入tomcat目录/bin文件夹,编辑service.bat中的 set SERVICE_NAME = (修改成你需要的服务名,这个将是你启动服务的句柄): 2.修改 set PR ...
- react 路由导航栏 withRouter
codesandbox https://codesandbox.io/s/9l6prnyxjy app.js import React, { Component, Fragment } from &q ...
- 接口自动化测试 (三)request.post
上一节介绍了 requests.get() 方法的基本使用,本节介绍 requests.post() 方法的使用: 本文目录: 一.方法定义 二.post方法简单使用 1.带数据的post 2 ...
- Mysql 索引迁移策略
Mysql 索引迁移策略 近日在核查项目中的一些慢sql时发现一个很鸡仔儿的问题,本地开发库表中索引跟生产上差距很大,又因为生产库登录各种麻烦,需要各种验证码,那么多的慢sql分给好些个人,不可能让大 ...
- git fork代码并修改胡提交到自己的git仓库
最近在参加阿里天池大数据中间件比赛(毫无头绪,打酱油中).看参赛要求,需要将官网的git工程clone下来,在此基础上做修改后提交到自己的仓库中. 由于以前并没有使用过git,所以差了比较多的资料,做 ...
- https://stackoverflow.com/questions/10423781/sql-data-range-min-max-category
select phone,count(order_id) as c from table_recordgroup by phoneorder by c desc SELECT CASEWHEN (ag ...
- [Day13]static、final、匿名对象、内部类、包、修饰符、代码块
1.final-最终 (1)final的特点 final修饰类不可以被继承,但是可以继承其他类 final修饰的方法不可以被覆盖,但父类中没有final修饰方法,子类覆盖后可以加final final ...
- git的简单玩法
本篇笔记参考廖雪峰的git教程,为方便查看将命令部分提取并记录下来. 无意对原作的版权侵犯,如需要学习请到廖雪峰网站学习git 创建git仓库 # mkdir learngit && ...