当前位置:首页 > 行业动态 > 正文

什么是CDN回源原理,它是如何工作的?

CDN(内容分发网络)通过将内容缓存到全球各地的服务器上,使用户能够从最近的服务器获取数据,从而加快访问速度并减轻源站压力。

CDN回源原理

1. 基本概念

什么是CDN回源原理,它是如何工作的?  第1张

CDN定义分发网络(Content Delivery Network,CDN)是一种分布式网络服务,旨在通过将内容缓存到全球各地的服务器节点上,使用户可以就近获取所需内容,从而加快内容的传输速度,减轻源站服务器的负载。

回源定义:当用户请求的资源在CDN节点上未找到时,CDN节点会从原始服务器(源站)获取资源,这个过程称为回源,回源是确保用户能够获取最新或缺失资源的关键步骤。

2. 工作原理

客户端发起请求:用户访问网站时,客户端(如浏览器)向CDN节点发送请求。

CDN节点查找缓存:CDN节点首先检查自身缓存中是否存在请求的资源,如果存在,则直接返回缓存的资源。

回源请求:如果CDN节点的缓存中不存在请求的资源,节点会根据配置的回源策略向源站发起回源请求。

获取资源并缓存:源站接收到回源请求后,生成并返回相应的资源,CDN节点在获取到资源后,将其缓存到自身的缓存中,以便下次请求时能够直接返回缓存的资源。

返回响应:CDN节点将获取到的资源返回给客户端,完成整个请求响应过程。

3. CDN多级缓存机制

边缘层缓存:直接面向用户提供内容服务的Cache设备部署在CDN网络的边缘位置,称为边缘层,当用户请求数据时,边缘层首先检查本地缓存是否过期,如果未过期,则直接响应用户请求。

中心层缓存:中心层负责全局的管理和控制,同时也保存了最多的内容Cache,当边缘层未能命中Cache时,会向中心层设备请求;中心层未能命中时,再向源站请求。

区域层缓存:对于大型CDN系统,在中心层和边缘层之间可能还会部署区域层,负责一个区域的管理和控制,也可以提供一些内容Cache供边缘层访问。

CDN回源配置功能

配置项 描述
自定义回源HOST 当源站的同一个IP地址上绑定了多个域名或站点时,可配置回源HOST,使CDN根据HOST信息去对应站点获取资源。
指定源站回源HOST 当加速域名配置了多个回源站点并且需要结合HOST头请求不同虚拟站点的资源时,可使用此功能为不同的源站配置不同的回源HOST。
设置回源协议类型 配置CDN节点回源站请求资源时使用的协议(HTTP或HTTPS),并支持自定义HTTP和HTTPS协议端口。
OSS私有Bucket回源 当源站为阿里云OSS且Bucket设置为私有时,必须先打开阿里云OSS私有Bucket回源开关对CDN授权,才能实现CDN回源至私有OSS Bucket访问资源。
配置回源SNI 当源站IP绑定了多个域名,CDN节点以HTTPS协议访问源站时设置回源SNI,使CDN根据设置的SNI访问具体域名获取资源。
开启Common Name白名单 开启此功能后,CDN节点以HTTPS协议与源站建连时,会对请求的SNI和源站返回证书的CommonName进行校验。
设置回源HTTP请求超时时间 配置回源请求的最长等待时间,当回源请求等待时间超过配置的超时时间时,CDN节点与源站的连接断开。
高级回源 根据客户端请求的不同参数(如Request Header、Query String Parameter、Path、Request Cookie)回到不同的源站。
配置回源301/302跟随 CDN节点代替用户处理301/302状态码的内容。
配置IPv6回源 CDN节点支持以IPv6协议访问源站,并可以配置不同的回源策略(如回源优先使用IPv6地址、回源跟随客户端协议版本、回源IPv4/IPv6负载均衡)。
添加、修改或删除回源HTTP请求头/响应头 改写回源请求中的HTTP Header或响应中的HTTP Header。
回源URL改写 当源站的资源路径发生变更时,通过CDN节点改写回源请求里面的资源路径。
回源参数改写 如果用户发起的原始请求URL中携带的参数与需要发送给源站的参数不一致,可通过此功能改写回源请求URL中携带的参数。

CDN回源是CDN工作中的一个重要环节,它涉及到资源的获取、缓存和更新等方面,通过理解CDN回源的工作原理和优化策略,我们可以更好地利用CDN技术来提高网站的性能和可用性。

0