功能介绍
Range回源,是指节点收到用户请求后,会在回源时携带Range请求头,源站在收到Range请求后,会返回对应范围的内容数据给全站加速。Range回源功能开启后,全站加速节点可以以分片的形式缓存文件,对于Range请求而言,可以有效提高文件分发效率,降低首包时延,同时提高缓存利用率,减少不必要的回源。
开启和关闭Range回源功能时,相应的情况如下:
- 关闭Range回源
- 客户端发起Range请求,全站加速节点无缓存时,默认透传客户端Range请求回源,无论源站响应206或200状态码,全站加速均不做缓存,并透传源站的状态码和内容给客户端。
- 客户端发起完整文件请求,全站加速节点无缓存时,透传客户端请求回源,源站响应200状态码,全站加速缓存文件,并响应200状态码及内容给客户端。
- 开启Range回源
- 无论客户端发起的是否Range请求,全站加速节点无缓存时,均按配置的Range分片大小回源,如源站响应206状态码,则全站加速缓存对应分片内容,并响应206(如客户端为Range请求)或200(如客户端为完整文件请求)给客户端。
- 客户端发起Range请求,全站加速有Range范围的文件内容缓存时,直接响应206状态码及对应范围缓存内容给客户端。
Range回源功能默认关闭,全站加速以客户端的请求方式回源,即有无Range请求头都将透传至源站。
注意如果客户端有Range请求,全站加速默认无法缓存对应文件,需要开启Range回源功能。
适用场景
客户端存在Range请求,且源站支持Range,可响应指定范围内的内容数据时,建议开启Range回源功能,以提高文件分发效率及缓存利用率。
一般源站内容存在视频、APP等大文件场景下,建议开启Range回源功能。
注意事项
- 开启Range回源前需确认源站是否支持Range请求,即源站能够响应对应范围内的206文件分片内容,同时需确认源站响应头中是否包含Transfer-Encoding: chunked头部。如果源站不支持Range请求,或源站可能响应Transfer-Encoding: chunked头部,可提交工单申请配置“完整文件回源”功能,该功能开启后,客户端发起Range请求时,全站加速节点将会回源获取完整文件,并缓存下来,同时响应Range范围的数据。
- 开启Range回源时,全站加速会将用户请求(无论原始请求是否为Range请求)拆分成若干个Range请求回源,以一个100MB的文件为例,在Range回源开启时,全站加速获取完整文件需要回源100次,一定程度上会增加回源访问请求数和并发量,请合理设置分片大小。默认Range分片大小为1MB,即:如果客户端请求Range: bytes=0-100,则在全站加速节点回源时会将Range请求扩大为1MB。
- 请在新增域名时明确是否开启Range回源,以及开启Range回源的具体分片大小;一旦域名CNAME至我司产生流量后,建议不要轻易变更Range回源功能开启状态以及分片大小,否则可能会产生较高回源;如确实有调整需求,请在提交工单时特殊说明。
配置说明
该功能暂不支持客户自助配置,如需使用,请通过提交工单给天翼云客服,由其人工操作开启。
提交工单时,请附带如下信息:
- 分片大小,默认为1MB;如需设置为其他值,请说明。
- 开启分片范围,默认为域名粒度;如需设置为仅部分文件,请说明具体的文件范围,例如xx目录,或xx文件后缀(如.mp4、.flv等)。