解释说明
CDN节点缓存过期时间是否忽略源站响应头Cache-Control中的no-cache、private、no-store字段,开启代表忽略,关闭代表不忽略。
与缓存过期时间来源组合的结果
表1 强制缓存与缓存过期时间来源配合使用结果 | 缓存过期时间来源 | 强制缓存 | 配置结果 |
| 源站 | 关闭 | - 此时如果源站响应头Cache-Control设置了no-cache、private、no-store,CDN节点将不缓存资源。
- 如果源站设置了其他响应头,缓存优先级为s-maxage->max-age->expires。例如源站同时设置了Cache-Control:max-age=500 , s-maxage=400,此时CDN节点的缓存过期时间遵循s-maxage的值400s。
- 如果源站没有设置以上响应头,执行CDN控制台配置的缓存过期时间。
|
| 源站 | 开启 | 此时忽略源站的不缓存设置,即源站响应头Cache-Control设置了no-cache、private、no-store时依然会缓存资源,缓存逻辑如下: - 如果源站响应头设置了缓存过期时间,缓存优先级为s-maxage->max-age->expires。例如源站同时设置了Cache-Control:max-age=500 , s-maxage=400,此时CDN节点的缓存过期时间遵循s-maxage的值400s。
- 如果源站没有设置以上响应头,执行CDN控制台配置的缓存过期时间。
|
| CDN | 关闭 | - 如果源站响应头Cache-Control设置了no-cache、private、no-store,CDN节点将不缓存资源。
- 如果源站响应头Cache-Control未设置no-cache、private、no-store,执行CDN控制台配置的缓存过期时间。
|
| CDN | 开启 | 此时忽略源站响应头,执行CDN控制台配置的缓存过期时间。 |
| 源站和CDN的最小值 | 关闭 | - 最小值为CDN节点设置的缓存过期时间时,配置结果如下:
- 如果源站响应头Cache-Control设置了no-cache、private、no-store,CDN节点将不缓存资源。
- 如果源站响应头Cache-Control未设置no-cache、private、no-store,执行CDN控制台配置的缓存过期时间。
- 最小值为源站设置的缓存时间时,配置结果如下:
- 此时如果源站响应头Cache-Control设置了no-cache、private、no-store,CDN节点将不缓存资源。
- 如果源站设置了其他响应头,缓存优先级为s-maxage->max-age->expires。例如源站同时设置了Cache-Control:max-age=500 , s-maxage=400,此时CDN节点的缓存过期时间遵循s-maxage的值400s。
- 如果源站没有设置以上响应头,执行CDN控制台配置的缓存过期时间。
|
| 源站和CDN的最小值 | 开启 | - 最小值为CDN节点设置的缓存过期时间时,忽略源站响应头,执行CDN控制台配置的缓存过期时间。
- 最小值为源站设置的缓存时间时,忽略源站的不缓存设置,即源站响应头Cache-Control设置了no-cache、private、no-store时依然会缓存资源,配置结果如下:
- 如果源站响应头设置了缓存过期时间,缓存优先级为s-maxage->max-age->expires。例如源站同时设置了Cache-Control:max-age=500 , s-maxage=400,此时CDN节点的缓存过期时间遵循s-maxage的值400s。
- 如果源站没有设置以上响应头,执行CDN控制台配置的缓存过期时间。
|