更新时间:2026-04-22 GMT+08:00
分享

强制缓存

解释说明

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的最小值

关闭

  1. 最小值为CDN节点设置的缓存过期时间时,配置结果如下:
    • 如果源站响应头Cache-Control设置了no-cache、private、no-store,CDN节点将不缓存资源。
    • 如果源站响应头Cache-Control未设置no-cache、private、no-store,执行CDN控制台配置的缓存过期时间。
  2. 最小值为源站设置的缓存时间时,配置结果如下:
    • 此时如果源站响应头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的最小值

开启

  1. 最小值为CDN节点设置的缓存过期时间时,忽略源站响应头,执行CDN控制台配置的缓存过期时间。
  2. 最小值为源站设置的缓存时间时,忽略源站的不缓存设置,即源站响应头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控制台配置的缓存过期时间。

相关文档