cdn缓存过期配置

发布时间:2019-01-25 22:49:56 阅读:1004次

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秒。

如有问题,可以QQ搜索群1028468525加入群聊,欢迎一起研究技术

支付宝 微信

有疑问联系站长,请联系QQ:QQ咨询

转载请注明:cdn缓存过期配置 出自老鄢博客 | 欢迎分享