CDN,你了解多少?
大家对CDN并不陌生,工作中或多或少都有所接触,最近也有人问到,在此对CDN相关概念和流程做下总结,希望还能对其他朋友也有所帮助。
一、什么是CDN
维基百科上是这样定义的:
CDN:内容分发网络(Content delivery network或Content distribution network)是指一种通过互联网互相连接的电脑网络系统,利用最靠近每位用户的服务器,更快、更可靠地将音乐、图片、视频、应用程序及其他文件发送给用户,来提供高性能、可扩展性及低成本的网络内容传递给用户。
对于还未了解的朋友,可能还不清楚CDN到底是啥,到底是做什么的?下面举个例子说明下:
以前还没有火车票代售点,12306.cn也只不过是最近几年才有。那时候火车票还智能在火车站的售票大厅购买,好多小县城不通火车,火车票要到市里去买,从小县城到市里去买火车票来回要花不少时间。后来小县城有了火车票代售点,可以直接在代售点购买车票,方便了很多,全市人民再也不用苦逼的排队在一个点买票了,可以分散到不同的火车票代售点。那么CDN就可以理解为分布在每个县城的火车票代售点,用户在浏览网站时,CDN会选择一个离用户最近的CDN边缘节点来响应用户的请求,这样上海的移动用户的请求就不用千里迢迢跑到北京电信机房的服务器上了(假设源站部署在北京电信机房)。这样,CDN节点解决了跨运营商和跨地域访问的问题,访问时间大大降低,同时,大部分请求在CDN边缘节点完成,CDN起到了分流作用,减轻了源站的负载。
二、CDN工作流程
用户访问未使用CDN缓存网站的过程为:
用户在浏览网站的时候,浏览器能够在本地保存网站中的图片或者资源文件,这样用户再次访问该网站的时候,浏览器就不用再下载全部的资源文件,减少了下载量意味着提高了页面加载的速度。
CDN网络是在用户和服务器之间增加Cache层,主要是通过接管DNS实现,将用户的请求引导到Cache上获得源服务器的数据
下面让我们看看访问使用CDN缓存后的网站的过程:
一般来说CDN节点会包括nginx和cache两部分,nginx作负载均衡,cache作为缓存,用户请求到CDN节点后,如果cache中没有缓存用户的内容(包括真的没有或者是过期时间到了),这时候CDN节点会去源站去请求用户所需的资源,拿到数据后CDN节点会做两件事情,把数据返回给用户,并且把数据缓存在cache,这样同样的请求就可以从cache取,不需要回源了。另外你要注意,当前的CDN不会让源站来推送数据的,都是第一次去源站取,采用拉数据的方式。
对于测试人员,需要确认下网站所加载的图片等资源是否都走了CDN,看下是否为CDN域名地址,网站提速不可缺少的一部分。
当前CDN都在拼价格,不想以前被chinaCache垄断,BAT都有自己的CDN节点,对第三方CDN的依赖也在下降。就写到这吧,是否对CDN有所了解了,留言告诉我吧!
测试架构师论坛:http://www.youxitest.com
了解更多请关注微信公众号:测试架构师

CDN,你了解多少?的更多相关文章
- 百度MIP移动页面加速——不只是CDN
MIP是用CDN做加速的么?准确答案是:是,但不只是. MIP全称Mobile Instant Pages,移动网页加速器,是百度提出的页面加速解决方案.MIP从前端渲染和页面网络传输两方面进行优化, ...
- 【初码干货】使用阿里云对Web开发中的资源文件进行CDN加速的深入研究和实践
提示:阅读本文需提前了解的相关知识 1.阿里云(https://www.aliyun.com) 2.阿里云CDN(https://www.aliyun.com/product/cdn) 3.阿里云OS ...
- 阿里云系列——6.给你的域名使用CDN加速(详细步骤+简单配置)
网站部署之~阿里云系列汇总 http://www.cnblogs.com/dunitian/p/4958462.html 进入管理页面:https://home.console.aliyun.com/ ...
- Signalr系列之虚拟目录详解与应用中的CDN加速实战
目录 对SignalR不了解的人可以直接移步下面的目录 SignalR系列目录 前言 前段时间一直有人问我 在用SignalR 2.0开发客服系统[系列1:实现群发通讯]这篇文章中的"/Si ...
- CDN模式介绍
body{ font: 16px/1.5em 微软雅黑,arial,verdana,helvetica,sans-serif; } CDN(content delivery networ ...
- 前端CDN公共库
通过使用公共的CDN脚本和样式库,可以在一定程度上加速访问.节省服务器流量.提升你的网站用户体验.本文将介绍国内比较常用的几种免费的CDN库,包括百度.新浪.360.又拍和七牛等. 百度CDN公共库 ...
- 百度CDN
地址如下: http://cdn.code.baidu.com/
- 推荐一些国内的Jquery CDN免费服务
Jquery是个非常流行的JS前端框架,在很多网站都能看到它的身影.很多网站都喜欢采用一些Jquery CDN加速服务,这样网站加载jquery会更快.之前火端网络的一些网站都是使用Google的jq ...
- 【转】《从入门到精通云服务器》第七讲—负载均衡和CDN技术
在IDC知识中,我们常常会遇上负载均衡与CDN的概念而不知所云.第一讲[什么是云计算], 我们提到过负载均衡,仅给大家留下了印象.这次我们将深入浅出的讲讲到底什么是负载均衡与CDN技术.---互联网数 ...
- bootstrap之CDN
bootstrap之CDN CDN是Content Delivery Network的缩写,简单的说就是Bootstrap把自己的css.Js等文件托管到某一个网络服务器上使用时调用.如果与Inter ...
随机推荐
- 阿里云LINUX服务器配置HTTPS(NGINX)
本文首发于:http://www.fengzheng.pub/archives/238.html 背景说明 服务器为阿里云 ECS,操作系统为 CentOS 6.5. 部署配置说明 第一步,安装ngi ...
- Win7_x64_Oracle 安装 PL/SQL Developer
Win7逐渐成为现行主流的windows操作系统,其32和64位系统平分秋色.然而当下还没有64位的PL/SQL Developer问世,直接用32位的PL/SQL Developer连接Win7(6 ...
- 获取博客积分排名,存入数据库,读取数据进行绘图(python,selenium,matplotlib)
该脚本的目的:获取博客的排名和积分,将抓取时间,排名,积分存入数据库,然后把最近的积分和排名信息进行绘图,查看积分或者排名的变化情况. 整个脚本的流程:是利用python3来编写,利用selnium获 ...
- SSIS 数据流的连接和查找转换
在SSIS的数据流组件中,SSIS引擎使用Merge Join组件和 Lookup组件实现TSQL语句中的inner join 和 outer join 功能,Lookup查找组件的功能更类似TSQL ...
- Unity播放Gif动画
Unity目前对图形图像的支持还不是很完善,支持的图形文件格式有 PSD, TIFF, JPG, TGA, PNG, GIF, BMP, IFF, PICT等,但却不支持Gif动画.但是经过查阅资料发 ...
- 做推送,怎么能不了解推送的 4 种消息形式呢?( Android 篇)
极光推送是为 App 提供第三方推送服务的平台之一,它提供四种消息形式:通知,自定义消息,富媒体和本地通知. 笔者将基于官方说明与个人理解来谈一下这四种消息.本篇为 Android 篇,iOS 篇入口 ...
- 循环神经网络(RNN)模型与前向反向传播算法
在前面我们讲到了DNN,以及DNN的特例CNN的模型和前向反向传播算法,这些算法都是前向反馈的,模型的输出和模型本身没有关联关系.今天我们就讨论另一类输出和模型间有反馈的神经网络:循环神经网络(Rec ...
- php写购物车(思路&源码)
本文介绍一个php实现的购物车代码,功能实现完整,具有一定的参考价值 这里我们为你提供个简单的php购物车代码,从增加购物产品与发生购买了,在商城开发中,这个功能是少不了的 具体分析如下: 对购物车里 ...
- 我在ubuntu桌面系统下进行WEB开发常用的软件
公司电脑本来是win系统的,不知道怎么突然中毒了,由于比较讨厌杀毒软件,所以之前都被我卸载掉了,所以我干脆重装了一个ubuntu系统 1.IDE vscode 各种插件,自带Git,markdo ...
- Android 启动模式--任务(Task)--桟 的误区
Android 启动模式--任务(Task)--桟 的误区 写这篇文章是因为前几天的一次面试,面试官说SingleInstance模式会新建一个桟,而SingleTask不会.首先不说这个对不对(非要 ...