更新时间:2025-05-07 GMT+08:00
分享

缓存过期时间来源

解释说明

配置资源在CDN节点的缓存过期时间遵循哪个设置,默认“缓存过期时间来源”“CDN”。支持配置的取值如下:

  • 源站:CDN节点的缓存过期时间遵循源站的设置。
  • CDN:CDN节点的缓存过期时间遵循“缓存规则”中的“缓存过期时间”
  • 源站和CDN的最小值:CDN节点的缓存过期时间取缓存规则和源站二者的最小值。
  • 如果源站同时配置了Cache-Control和Expires,优先遵从Cache-Control配置的过期时间。
  • 如果“缓存过期时间来源”“源站”,但是源站没有配置Cache-Control和Expires,此时节点缓存遵循CDN配置的缓存规则。

与强制缓存组合的结果

缓存过期时间来源与强制缓存功能配合使用,不同的配置组合对应结果如下:

  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控制台配置的缓存过期时间。
  2. 缓存过期时间来源配置为“源站”,强制缓存功能开启。
    • 如果源站响应头设置了缓存过期时间,缓存优先级为s-maxage->max-age->expires。例如源站同时设置了Cache-Control:max-age=500 , s-maxage=400,此时CDN节点的缓存过期时间遵循s-maxage的值400s。
    • 如果源站没有设置以上响应头,执行CDN控制台配置的缓存过期时间。
  3. 缓存过期时间来源配置为“CDN”,强制缓存功能开启。
    • 此时忽略源站响应头,执行CDN控制台配置的缓存过期时间。
  4. 缓存过期时间来源配置为“CDN”,强制缓存功能关闭。
    1. 如果源站响应头Cache-Control设置了no-cache、private、no-store,CDN节点将不缓存资源。
    2. 如果源站响应头Cache-Control未设置no-cache、private、no-store,执行CDN控制台配置的缓存过期时间。
  5. 缓存过期时间来源配置为“源站和CDN的最小值”,强制缓存功能关闭。
    • 如果最小值为CDN节点设置的缓存过期时间,则与4规则一致。
    • 如果最小值为源站设置的缓存时间,则与1一致。
  6. 缓存过期时间来源配置为“源站和CDN的最小值”,强制缓存功能开启。
    • 如果最小值为CDN节点设置的缓存过期时间,则与3规则一致。
    • 如果最小值为源站设置的缓存时间,则与2一致。

相关文档