cdn缓存过期配置

https://cloud.tencent.com/document/product/228/6290

<?php
  header("Cache-Control: public");
  header("Pragma: cache");
  $offset = 30*60*60*24; // cache 1 month
  $ExpStr = "Expires: ".gmdate("D, d M Y H:i:s", time() + $offset)." GMT";
  header($ExpStr);
?>

优先级

当设置了多条缓存策略时,相互之间会有重复,配置项列表底部优先级高于顶部优先级。假设某域名配置了如下缓存配置:

  • 所有文件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,其匹配方式如下:

  1. 匹配第一条所有文件,命中,此时缓存时间为30天。
  2. 匹配第二条,未命中。
  3. 匹配第三条,命中,此时缓存时间为300秒。
  4. 匹配第四条,命中,此时缓存时间为400秒。
  5. 匹配第五条,命中,此时缓存时间为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秒。
    A+
发布日期:2019年01月25日  所属分类:未分类

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: