CDN(Content Delivery Network)内容分发网络从入门到与实战

2023-05-16

目录

  • 一、简介
  • 二、加速原理
  • 三、应用场景
    • 3.1 网站加速
    • 3.2 文件下载加速
    • 3.3 点播加速
    • 3.4全站加速
  • 四、一些基本概念
  • 五、实战
    • 5.1 开通CDN服务
    • 5.2 添加加速域名
    • 5.3 域名归属权验证
    • 5.4 配置CANME

一、简介

  CDN(Content Delivery Network,内容分发网络)是将源站内容分发至靠近用户的加速节点,使用户可以就近获得所需的内容,解决Internet网络拥挤的状况,提高用户访问的响应速度和成功率,从而提升业务的使用体验。

  可以通过CDN管理控制台添加加速域名、配置CNAME解析,即可启用CDN加速。还可以根据业务需要,为加速域名进行缓存、安全、性能优化配置,优化加速效果、缓解源站压力。

举个栗子来帮助理解

  京东最开始的物流仓库在总部(北京),我在重庆买了东西,京东基本上不可能一天内把货物送到我手上;后来京东在一些主要城市(上海、武汉、成都)也建设了物流仓库,我同样在重庆购物,京东只需要在就近有货源的仓库调货即可;再后来,京东直接在你家“附近”建了仓库,去年广州一个城市就有超过10个仓库,实现了当天达、小时达。(比如:我今天早上6点买的东西下午3点就取到了)。

上面的表述可能与实际有些许出入,但用来解释CDN的作用再合适不过了。

二、加速原理

  当用户访问使用CDN服务的网站时,本地DNS服务器通过CNAME方式将最终域名请求重定向到CDN服务。CDN通过一组预先定义好的策略(如内容类型、地理区域、网络负载状况等),将当时能够最快响应用户的CDN节点IP地址提供给用户,使用户可以以最快的速度获得网站内容。使用CDN后的HTTP请求处理流程如下。

在这里插入图片描述

HTTP请求流程说明:

  1. 用户在浏览器输入要访问的网站域名www.example.com,向本地DNS发起域名解析请求。
  2. 本地DNS检查缓存中是否有www.example.com的IP地址记录。如果有,则直接返回给终端用户;如果没有,则向网站授权DNS查询。
  3. 网站DNS服务器解析发现域名已经解析到了CNAME:www.example.com.c.cdnhwc1.com
  4. 请求被指向CDN服务。
  5. CDN对域名进行智能解析,将响应速度最快的CDN节点IP地址返回给本地DNS。
  6. 用户获取响应速度最快的CDN节点IP地址
  7. 浏览器在得到最佳节点的IP地址以后,向CDN节点发出访问请求。
    • 如果该IP地址对应的节点已缓存该资源,节点将数据直接返回给用户,如图中步骤7和8,请求结束。
    • 如果该IP地址对应的节点未缓存该资源,节点回源请求资源。获取资源后,结合用户自定义配置的缓存策略,将资源缓存至节点,如图中的北京节点,并返回给用户,请求结束。配置缓存策略的操作方法,请参见缓存配置。

三、应用场景

3.1 网站加速

  适用于有加速需求的网站,包括门户网站、电商平台、资讯APP、UGC应用(User Generated Content,用户原创内容)等。CDN网络能够对加速域名下的静态内容提供良好的加速服务。支持自定义缓存规则,用户可以根据数据需求设置缓存过期时间,缓存格式包括但不限于zip、exe、wmv、gif、png、bmp、wma、rar、jpeg、jpg等。

在这里插入图片描述

3.2 文件下载加速

  适用于使用HTTP/HTTPS文件下载业务的网站、下载工具、游戏客户端、APP商店等。现在越来越多的新业务需要通过网络对客户端软件进行实时更新,包括APP更新,手游更新等,传统的下载类业务也需要支持更多的文件数量和更大的文件,如果所有的请求都通过源站服务器来处理,服务器和网络会成为很大的瓶颈,导致下载体验变差。使用CDN下载加速可以将下载量大的内容分发到各地的CDN节点,有效减轻源站的压力,同时保证了客户端高速下载的需求。
在这里插入图片描述

3.3 点播加速

  适用于提供音视频点播服务的客户。例如:在线教育类网站、在线视频分享网站、互联网电视点播平台、音乐视频点播APP等。传统的点播服务会加大服务器的负载,并消耗巨大的带宽资源,同时又无法保证终端用户访问时需要的高速体验,CDN点播加速可以提供快速、稳定和安全的点播加速服务,通过分布在各个区域的CDN节点,将音视频内容扩展到距离用户较近的地方,随时随地为用户提供高品质的访问体验。
在这里插入图片描述

3.4全站加速

  适用于各行业动静态内容混合,含较多动态资源请求(如asp、jsp、php等格式的文件)的网站。全站加速融合了动态和静态加速,用户请求资源时,静态内容从边缘节点就近获取,动态内容通过动态加速技术智能选择较优路由回源获取。CDN全站加速有效提升动态页面的加载速度,避开网络拥堵路由,提高访问成功率,实现网站整体加速与实时优化。
在这里插入图片描述

四、一些基本概念

  1. 静态资源
    每次访问得到的都是相同的文件,例如:图片、视频、网站中的文件(html、css、js)、软件安装包、apk文件、压缩包文件等。

  2. 动态资源
    每次访问得到的都是不同的文件,例如:网站中的文件(asp、jsp、php、perl、cgi)、API接口、数据库交互请求等。

  3. 加速域名
    加速域名是用户提供的需要使用CDN加速服务的域名,域名是便于记忆和沟通的一组服务器的地址,应用于网站,电子邮件,FTP等。

  4. CNAME记录
    CNAME记录是指域名解析中的别名记录(Canonical Name),允许将多个域名映射到同一个域名。
    例如:
    您有一台服务器存放了一些文件,可以通过file.example.com访问该资源,但是希望通过另一个域名data.example.com也能访问。
    那么您可以在DNS解析服务商处新增一条CNAME记录,将data.example.com指向file.example.com。
    添加CNAME记录后,所有访问data.example.com的请求就会指向file.example.com,获得相同内容。

  5. CNAME域名
    用户在管理控制台添加加速域名后,系统会为加速域名分配一个对应的“CNAME域名”(域名形式为:..c.cdnhwc1.com)。用户需要在域名服务商处,配置一条CNAME记录,将加速域名指向“CNAME域名”,记录生效后,域名解析的工作就正式转向CDN服务,该域名所有的请求都将转向CDN节点,达到加速效果。

  6. 源站
    源站指用户的业务服务器,即被加速分发数据的来源。

  7. DNS
    TCP/IP网络中的功能实体,通过该服务器,用户只通过域名就可以访问对应的服务器。在TCP/IP网络中域名与IP地址一一对应,域名便于记忆,但网络中的服务器间只能通过IP地址相互识别,域名和IP地址之间的转换称为域名解析,域名解析需要通过专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。
    例如:您访问xxx.abc.com会通过DNS转换成220.xxx.xxx.xxx(IP地址)。您可以使用华为云解析,也可以使用其他的DNS服务商。

  8. 边缘节点
    边缘节点也称CDN节点、Cache节点等,指距离最终用户接入具有较少的中间环节的网络节点,对最终接入用户有较好的响应能力和连接速度。

  9. 回源
    CDN节点未缓存资源或者缓存资源已到期时,节点会回源站获取资源,返回给客户端。
    例如:您访问某个URL,如果解析到CDN节点未缓存该资源,则您的访问请求会直接到源站获取资源,并根据URL请求返回。

  10. 回源HOST
    源站决定了回源时,请求到源站的IP地址。回源HOST决定回源请求访问到该IP地址的哪个站点。
    例1:源站为域名时,源站为www.xxx.com,回源HOST为www.abc.com,实际回源的是www.xxx.com解析到的IP站点www.abc.com。
    例2:源站为IP地址时,源站为1.1.1.1,回源HOST为www.abc.com,实际回源的是1.1.1.1对应主机上的站点www.abc.com。

  11. SSL/TLS
    SSL(Secure Sockets Layer,安全通讯协议),是一个构架于TCP之上的安全套接层,是为网络通信提供安全及数据完整性的一种安全协议。标准化之后的SSL名称为TLS(Transport Layer Security,传输层安全协议)。

  12. URL参数
    根据业务需要判断是否启用该项配置,对用户请求URL中“?”之后的参数进行过滤,提高缓存命中率。

五、实战

  华为云、阿里云、腾讯云等厂商都提供有CDN服务,我的域名是在阿里云购买的(新人便宜)。我平常华为云用的比较多,起初本来想用华为云的CDN来加速的,但是发现好像要使用华为云购买的域名才行,如果要使用其他厂商处购买的域名就要把域名迁移到华为云,有点小麻烦,就没弄了。回到阿里云开通了CDN服务(阿里云还可以对在腾讯云购买的域名进行加速)。

  价格还可以吧,可以买资源包也可以按量付费,大概100GB/年/20元的样子。

  操作按照官网文档来即可,注意一下域名归属权验证就行了。

5.1 开通CDN服务

5.2 添加加速域名

5.3 域名归属权验证

  该步骤用来验证你要加速的域名是不是你的。按照指导,阿里云这边生成一个字符串文本,把它拷贝到你的网站的根目录即可。

文件拷贝我是在宝塔面板中直接上传的,如图。注意是网站的根目录,不是服务器的根目录
在这里插入图片描述

5.4 配置CANME

在云解析DNS页面配置即可,和之前添加记录相同。把记录值从主机IP改成CANME地址即可。

我服务器是2M的带宽:
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CDN(Content Delivery Network)内容分发网络从入门到与实战 的相关文章

  • 机器视觉特征提取介绍:HOG、SIFT、SURF、ORB、LBP、HAAR

    一 概述 这里主要记录自己的一些感悟 xff0c 不是很系统 想要详细系统的理论 xff0c 请参考文末的 图像处理之特征提取 个人不是专业cv工程师 xff0c 很多细节没有深究 xff0c 描述可能不严谨 在总结物体检测算法之前先把基础
  • ROS低调复习总结

    ROS复习 一 考试时间 形式 日期二 题型三 不知道随便写四 课程知识点 难点1 1 3章课后复习题1 1 单元测试一1 2 单元测试二1 3 单元测试三 2 第二章 ROS系统架构2 1 比较Topic与Service通信2 2 关闭一
  • 了解Web前端-1 Http基本原理

    HTTP基本原理 1 HTTP协议2 HTTP与Web服务器3 浏览器中的请求和响应1xx 信息2xx 成功3xx 重定向4xx 客户端错误5xx 服务器错误 1 HTTP协议 Hyper Text Transfer Protocol xf
  • 了解Web前端2-HTML语言

    HTML语言 1 什么是HTML2 了解HTML结构4 HTML的基本标签4 1 不是标签4 2 文件开始标签 96 96 4 3文件头部标签 96 96 4 4文件标题标签 96 96 4 5元信息标签 96 96 4 6页面的主体标签
  • 了解Web前端3-CSS层叠样式表

    CSS样式层叠表 1 CSS 概述2 属性选择器2 1属性选择器2 2属性和值选择器2 3属性和值的选择器 多值 3 类和ID选择器3 1ID选择器3 2类选择器3 3为特定元素使用class 1 CSS 概述 CSS是一种标记语言 xff
  • 了解Web前端4-JavaScript动态脚本语言

    JavaScript 动态脚本语言 1 页面中直接嵌入JavaScript代码2 连接外部JavaScript文件 JavaScript 是 web 开发人员必须学习的 3 门语言中的一门 xff1a HTML 定义了网页的内容CSS 描述
  • 爬虫の简介

    爬虫简介 一 什么是爬虫二 Python爬虫架构 一 什么是爬虫 爬虫 xff1a 一段自动抓取互联网信息的程序 xff0c 从互联网上抓取对于我们有价值的信息 二 Python爬虫架构 Python 爬虫架构主要由五个部分组成 xff0c
  • 一个不错的在线作图网站

    菜鸟教程的一个在线工具 连接 xff1a https c runoob com more shapefly diagram 优点 xff1a 没有广告 xff0c 不用关注微信公众号 xff0c 不用登陆 此外 xff0c 菜鸟还提供了其他
  • ABB机器人复习

    1 工业机器人最显著的特点 xff1a 2 工业气人的5种典型的结构 xff1a 3 认识示教器 xff1a 4 ABB机器人坐标系 xff1a 5 轴运动与线性运动 xff1a 1 轴运动 xff1a 2 线性运动 xff1a 6 重定位
  • step7basic的许可无法彻底完成

    安装博途并 后 xff0c 在项目中选择设备时可能会出现 xff1a step7basic的许可无法彻底完成 因为automation license manager中 的报错 原因 xff1a win10系统的更新 xff0c 导致软件不
  • 西门子学习第一章 S7-1200基础

    第一章 1 1 S7 1200系统概述 xff08 1 xff09 PLC 运用领域 xff08 2 xff09 S7 1200外观 xff08 3 xff09 西门子系列分类 1 2博途软件1 3 S7 1200系列PLC的硬件介绍 xf
  • 可见光的波长转换为RGB值颜色,光谱波长与RGBA分量,不同波长的光转换成不同的RGB值,JavaScript版本

    JS版本的光谱波长转换RGBA颜色值的方法 xff0c 在网上没找到 xff0c 后来领导发来一个C 43 43 版本的 xff0c 我对照着改为JS版 xff0c 有需要的朋友 可以参考 xff0c 代码如下 xff1a lt html
  • Modbus TCP Server端(附超全注释)

    实验项目名称 Modbus TCP实验 一 实验目的二 实验内容三 实验环境四 设计方案五 实验结果及分析 xff08 或设计总结 xff09 六 完整代码6 1 server c6 2 respond c6 3 respond h 开发语
  • ORB特征提取和匹配

    一 步骤二 代码三 部分结果展示3 1 使用Sobel算子且方向为vertical xff0c 进行边缘检测3 2 特征点提取 xff08 部分 xff09 3 3 特征点匹配 一 步骤 Step1 xff1a 读取彩色图片 1 新建实验用
  • windows下 Gitee(码云)使用

    1 注册Gitee并新建远程仓库2 初始化本地工作空间3 Git 全局设置 4 SSH公钥绑定5 提交文件到远程仓库 本文前提 xff1a 你已经在windows安装了git xff0c 如图所示 xff0c 关于git的安装 xff0c
  • 在 VS Code 中使用 Git

    1 VS Code安装2 在VS Code中登录Github账号3 Git 安装4 Git配置5 新建远程仓库并用命令行提交6 使用VSCode提交 1 VS Code安装 到vs code官网下载合适的版本并安装 2 在VS Code中登
  • 图像处理与机器视觉复习

    完整资源 xff1a GIthub链接 一 填空题 图像灰度均值 方差 图像的灰度平均值是平指灰度的平均水平 平均方差是衡量一个样本波动大小的量 xff0c 对图像来说 xff0c 平均方差反应的是图像高频部分的大小 方差小 xff0c 则
  • You-get && FFmpeg

    一 引言二 you get 介绍2 1 you get 安装2 2 you get语法及参数2 3 you get运用实例 三 FFmpeg介绍3 1 FFmpeg安装3 2 you get与FFmpeg的结合使用 四 HEVC 扩展 一
  • 一文读懂 主成分分析 与 因子分析

    2023 2 20更新 xff1a 修改了一些文字错误 xff0c 优化了排版 xff0c 增加了一些拓展内容 xff0c 祝大家学业有成 xff01 xff08 期待三连 x1f601 x1f601 xff09 目录 一 主成分分析二 因
  • Ubuntu 18.04 升级 20.04

    1 更换源2 安装所有更新包3 移除Ubuntu18 04上未用的旧包4 升级 鸿蒙开发要使用Ubuntu 20 04 及以上编译源码 xff0c 故将原来学习ROS 的Ubuntu18 04升级为20 04 1 更换源 好久没用这系统了

随机推荐