配置缓存过期时间
更新时间:2023-07-25
概述
缓存配置是指CDN节点在缓存资源时所遵循的一套过期淘汰规则。配置缓存过期时间即配置缓存文件在cache中保存的时长。CDN缓存的资源都有一定的过期时间;在资源未过期时,接受到请求时由节点响应;在资源过期时,节点会请求源站重新缓存,并将资源发给用户。
-
在用户接入域名时,控制台会自动为其配置默认缓存,用户可编辑权重值来调整缓存规则生效的优先级。缓存内容包括:
- 全局静态文件默认缓存30天,权重为2。
- 动态文件如.php、.jsp、.asp等默认缓存时间为0,权重为3。
- 源站HTTP Header中缓存控制权重为1。
-
过期时间可以通过控制台设置,也可以通过HTTP Header中的缓存控制头(Expires或Cache-control)设置。
- 两者都未设置时,CDN不缓存数据。
- 两者都设置时,根据配置的缓存策略权重来判断优先级。
对于HTTP Header中设置缓存控制头Expires与Cache-Control的区别:
- Cache-Control:用于控制http缓存。如果设置为“no-cache”,则意味着指示请求或响应消息不能缓存(HTTP/1.0用Pragma的no-cache替换)。
- Expires:表示失效时间,也就是文件在本地客户端的缓存时间,等同max-age的效果,Expires的值应该使用GMT格式的时间:如 Thu, 01 Dec 1994 16:00:00 GMT。
若Expires与Cache-Control同时存在,Expires会被Cache-Control的max-age覆盖。
注意事项
- 未通过验证或正在验证的域名不可配置。
- 用户最多可设置15个配置项的过期时间。
- 静态内容如jpg、png、mp3 等内容的过期时间建议设置一个月。
- 不推荐两条缓存策略配置相同的权重,如果权重相同,会随机选择其中一条策略生效。
- CDN支持用户自己配置过期时间,CDN控制台的自定义缓存设置优先级默认高于源站HTTP Header的缓存设置;若用户需要源站缓存配置的优先级高于控制台设置,可通过在配置中选择遵循源站缓存来实现。
-
缓存配置的两个默认特点:
- 对用户任意请求,如果当前资源未过期,则节点响应,如果当前资源过期,则请求源站缓存并响应请求。
- 如果不配置任何缓存规则,则根据源站的响应头,来设置缓存资源的过期时间。
操作步骤
- 登录CDN管理控制台,进入“内容分发网络CDN”页面。
- 在左侧导航栏,点击域名管理。
- 进入域名管理页面,点击目标域名操作列的管理。
- 进入“CDN域名详情”页,在页面上方导航栏选择缓存配置页签。
- 在缓存过期时间配置模块中点击添加配置。
- 点击添加配置,在弹出的“添加缓存设置页面”配置以下参数。
参数 | 说明 |
---|---|
类型 | 支持文件后缀名、目录、状态码和精确文件的配置。
|
缓存项 | 指明具体哪些资源适用于本条缓存配置。 |
过期时间 | 资源在节点上过期的时间。状态码缓存过期时间为0~120s,配置的过期时间应在此范围内。过期时间设置为0,即为不缓存该内容。 |
遵循源站缓存 | 遵循源站的缓存规则会根据源站返回的响应头Cache-Control和Expires来设置节点的缓存过期时间。 |
权重 | 权重代表缓存规则的优先级,取值范围为0~100,权重大者优先级高,对应规则优先生效,权重相同者随机生效。 |
- 点击确定,完成一个配置项的缓存过期时间添加。
- 添加完成后,可以在缓存过期时间配置页面查看,在配置项操作列可以编辑/删除该配置项的过期时间。