背景说明
分片回源,是指CDN节点收到用户请求后,会在回源时携带Range请求头,源站在收到Range请求后,会返回对应范围的内容数据给CDN。分片回源功能开启后,CDN节点可以以分片的形式缓存文件,对于Range请求而言,可以有效提高文件分发效率,降低首包时延,同时提高缓存利用率,减少不必要的回源。
详细信息
下表为分片回源功能不同状态下的相关描述:
功能 状态 描述 分片回源 未开启 分片回源功能未开启时,若客户端发起Range请求,Range请求头部Start值的偏移量在一定范围内(默认为5MB),例如Range:1048576-2097152(其中1048576为Start值,2097152为End值),CDN加速会默认回源获取完整文件并缓存,同时响应给客户端Range范围内的数据内容。如Range请求的Start值范围超出5MB,且CDN节点尚未缓存完整文件,则CDN节点直接透传Range请求回源站,响应给用户的同时,不缓存对应文件。 开启 开启分片回源后,无论客户端发起的是否Range请求,CDN节点无缓存时,均按配置的Range分片大小回源,如源站响应206状态码,则CDN缓存对应分片内容,并响应206(如客户端为Range请求)或200(如客户端为完整文件请求)给客户端。
客户端发起Range请求,CDN有Range范围的文件内容缓存时,直接响应206状态码及对应范围缓存内容给客户端。
自适应回源 天翼云CDN加速同时支持自适应回源,即:如果客户端携带Range请求头,则按分片回源;如果客户端没有携带Range请求头,则按完整文件回源。
按分片回源时,会按照配置的分片大小回源,响应给用户的同时缓存文件。
因此,可以通过回源请求头、状态码和源站的响应报文来确认分片回源功能是否生效。分片回源功能开启后:
- 回源请求头:CDN节点回源时会携带例如Range:bytes=100-200的请求头。
- 状态码:CDN节点Range请求回源时,源站响应的状态码是206。
- 源站响应报文:会带有Content-Range字段,表示响应片段内容的范围和总数据大小,例如:Content-Range:bytes 100-200/5000”,表示返回[100-200]这101个字节的数据。
分片回源功能的详细介绍和使用注意事项,详情请见:分片回源。