- admin
- 群英帮助中心
- 2018-05-14 17:58:06
群英 CDN 支持各维度的内容缓存时间设置、支持自定义优先级调整、支持 cache 继承策略(高级缓存配置)。合理的配置缓存时间,能够有效的提升命中率,降低回源率,节省您的带宽。
群英 CDN 支持 404 状态码缓存过期时间设置及Http Response header 缓存策略配置。
内容缓存
配置指引
登录 CDN 控制台,选择左侧菜单栏的【域名管理】,单击您所要编辑的域名右侧的【管理】。
单击【缓存配置】,您可以看到 缓存过期配置 模块:
在域名接入时,默认配置如下:
1)自有源域名接入:所有文件默认 30 天缓存过期时间,常规动态文件(如.php .jsp .asp .aspx)默认缓存过期时间为0,对此类动态文件请求会直接回源。
2)COS 源域名接入:所有文件默认 30 天缓存过期时间。
3)默认关闭高级缓存过期设置。
修改配置
单击【新增缓存配置】可以添加缓存配置,您可以根据自身业务需求,在默认配置上添加缓存时间配置,CDN 支持三种方式的缓存过期时间设置:
1. 按文件类型设置缓存过期时间
您可以填充文件类型后缀,根据类型来设置缓存时间,如下所示:
配置缓存时间时可填入多项,每项用 ; 隔开,内容区分大小写,必须是以 .开头的文件后缀,如.png。刷新时间设置为 0 时,不缓存,所有请求转发至用户源站;缓存时间设置最大值不能超过365天。
2. 按文件夹设置缓存过期时间
您可以填充文件夹路径,根据文件夹来设置缓存时间,如下所示:
配置缓存时间时可填入多项,每项用 ; 隔开,内容区分大小写,必须是以 /开头的文件夹。刷新时间设置为 0 时,不缓存,所有请求转发至用户源站;缓存时间设置最大值不能超过365天。
3. 全路径文件设置缓存过期时间
您可以为某一具体文件设置缓存时间,如下所示:
配置缓存时间时可填入多项,每项用 ; 隔开,内容区分大小写,支持*匹配某一类型文件,如/test/abc/*.jpg:
4. 首页设置缓存过期时间
您可以指定首页设置缓存时间,如下所示:
优先级
当设置了多条缓存策略时,相互之间会有重复,配置项列表底部优先级高于顶部优先级。假设某域名配置了如下缓存配置:
所有文件 30天
.php .jsp .aspx 0秒
.jpg .png .gif 300秒
/test/*.jpg 400秒
/test/abc.jpg 200秒
假设域名为 www.test.com,资源为 www.test.com/test/abc.jpg,其匹配方式如下:
匹配第一条所有文件,命中,此时缓存时间为 30 天。
匹配第二条,未命中。
匹配第三条,命中,此时缓存时间为 300 秒。
匹配第四条,命中,此时缓存时间为 400 秒。
匹配第五条,命中,此时缓存时间为 200 秒。
因此最终缓存时间为 200 秒,以最后一次匹配生效。
单击【调整优先级】可以添加缓存配置,您可以根据业务情况自定义调整已经添加的缓存过期配置顺序。
使用右侧上下箭头调整缓存过期时间配置的顺序,单击【保存】即可完成调整。
缓存继承
当用户请求您某一业务资源时,源站对应的 Response HTTP Header 中存在 Cache-Control 字段,此时默认策略如下:
Cache-Control 字段为 max-age,对该资源的缓存时间以配置的缓存时间为主,不继承 max-age 指定时间。
Cache-Control 字段为 no-cache 或者 no-store,此时 CDN 节点对此资源不做缓存。
无 Cache-Control 字段,CDN 会默认添加:Cache-Control: max-age=600 头部。
高级缓存配置
在缓存过期配置模块中可以找到 高级缓存过期设置 开关,单击即可打开。
当您开启了高级缓存过期设置开关后,用户请求源站某资源时 Response HTTP Header 中带有 Cache-Control 字段,且值为 max-age=xxxx,此时节点对该资源的缓存时间取配置的过期时间与 max-age 中的最小值:
若用户源站配置 /index.html 的 max-age 为 200 秒,CDN对应配置的缓存时间为 600 秒,则文件实际过期时间为 200 秒。
若用户源站配置 /index.html 的 max-age 为 800 秒,CDN对应的缓存时间为 600 秒,则文件实际过期时间为 600 秒。
头部缓存
当资源在节点命中缓存时,CDN 默认会缓存以下来自于源站头部,并返回给用户。
Access-Control-Allow-Origin
Timing-Allow-Origin
Content-Disposition
Accept-Ranges
状态码缓存
CDN 节点请求源站资源时,除上述缓存策略外,还会根据状态码按照如下默认缓存策略进行:
2XX:按照正常缓存策略进行。
3XX:默认不缓存。
4XX:404缓存10s,其他默认不缓存。
5XX:默认不缓存。
您可以在【缓存配置】中【状态码缓存】模块调整 404 缓存时间:
404 状态码缓存时间可调整至 0 ~ 3600 秒。
注意:若文件对应的缓存过期时间为 0,产生 404 后,仍遵循不缓存原则,直接透传。