Range回源,指DCDN节点在回源的HTTP请求里面携带了Range信息,源站在收到DCDN节点的回源请求时,根据HTTP请求头中的Range信息返回指定范围的内容数据给DCDN节点。Range回源可有效提高文件分发效率,可以提高缓存命中率,减少回源流量消耗和源站压力,并且提升资源响应速度。
背景信息
Range是HTTP请求头之一,可用来指定需获取的内容的范围。例如,Range: bytes=0-100
表示回源请求该文件的前101个字节的数据内容。
开启Range回源功能后,DCDN收到用户的请求时,如果DCDN节点上未缓存该资源或资源已过期,DCDN节点回源会采用Range请求,从源站分段获取用户需要的部分资源并缓存到DCDN节点上。
开启Range回源的工作原理如下图所示:
注意事项
开启Range回源前需确认源站是否支持Range请求,即HTTP请求头中包含Range字段,并且源站能够响应正确的206文件分片。如果源站不支持Range请求,开启Range回源将导致资源无法缓存。
Multipart Ranges特性状态默认关闭,开启Range回源功能也不会同步开启Multipart Ranges特性,请提交工单申请开启Multipart Ranges特性。
开启Range回源功能以后,导致回源的QPS升高,如果源站有设置频次控制功能,需要注意避免触发源站的限流;规避办法是通过DescribeL2VipsByDomain查询DCDN回源节点的IP地址 ,并且将DCDN回源节点的IP加入源站的访问IP白名单。
操作步骤
登录DCDN控制台。
在左侧导航栏,单击域名管理。
在域名管理页面,单击目标域名对应的配置。
在指定域名的左侧导航栏,单击回源配置。
在回源配置页签下找到Range回源,单击修改配置。
根据下方的参数介绍,Range回源选择不使用Range回源、跟随客户端Range请求或开启Range回源。
当Range回源选择开启或者强制时,可以设置分片大小。分片大小默认为512 KB。
参数
选项
描述
示例
Range回源
不使用Range回源
默认为不使用Range回源状态,无论客户端是否使用Range请求DCDN节点,DCDN节点回源时都会请求整个文件,在大文件场景下的文件分发效率较低。
例如,客户端向DCDN节点发起的请求中含有
Range: bytes=0-100
,则DCDN节点向源站发起的请求中不会携带Range参数。源站会响应DCDN节点完整文件(假设完整文件大小为10 MB,源站就会响应10 MB的文件给DCDN节点),DCDN节点收到源站响应的文件后,会将文件缓存下来,同时响应客户端Range: bytes=0-100
的内容。跟随客户端Range请求
开启跟随客户端Range请求后,当客户端使用Range请求DCDN节点时,DCDN节点才会采用Range请求回源。DCDN节点第一次回源请求会按照用户请求中的Range大小向上取整来请求用户源站(此处的向上取整为分片大小的整数倍),后面全部按照用户指定的分片大小来请求用户源站。
例如,当分片大小为512 KB时,客户端向DCDN节点发起的请求中含有
Range:bytes=0-614399
(即600 KB),DCDN节点第一次回源请求会按照1024 KB回源(600 KB向上取整为1024 KB),后面全部按照512 KB的分片大小回用户源站。开启Range回源(大文件常见推荐配置)
开启Range回源(大文件场景推荐配置)后,无论客户端是否使用Range请求DCDN节点,DCDN节点都会采用Range请求回源。DCDN节点的所有回源Range请求都按照用户指定的分片大小来请求用户源站。
无
分片大小
512 KB
1 MB
2 MB
4 MB
当Rnge回源选择跟随客户端Range请求或者开启Range回源时,可以设置分片大小。分片大小默认为512 KB。
1 MB
规则条件
不使用:不使用规则条件。
选择已配置的规则条件,新增或修改规则条件请参见规则引擎。
规则条件能够对用户请求中携带的各种参数信息进行识别,以此来决定某个配置是否对该请求生效。
不使用