我正在尝试使用php header()函数来设置页面的缓存头。我有一个用于缓存http请求的CDN。我在这里尝试实现的是CDN应该缓存我的页面2天,并且浏览器应该每5分钟检查一次CDN的新版本。
Cache-Control: max-age=300, s-maxage=172800, public这是否避免了缓存头的工作?
发布于 2012-09-07 23:37:05
这会避免缓存头的工作吗?
为什么你不能从你的流量中知道呢?
Manual
s-maxage
If a response includes an s-maxage directive, then for a shared
cache (but not for a private cache), the maximum age specified by
this directive overrides the maximum age specified by either the
max-age directive or the Expires header.是的,它应该可以工作-但在客户端上使用比在中间代理上更短的过期时间是没有意义的(除非客户端可能在不同的CDN区域之间移动,并且内容是特定于CDN区域的)。
发布于 2012-09-07 22:19:07
expires头就是你要找的,它告诉所有缓存相关的表示多长时间是新的。在此之后,缓存将始终检查源服务器,以查看文档是否发生了更改。
此外,如果您的页面没有密码保护,请使用must-revalidate。
您将在CDN有一个方法将您的TTL设置为2天
https://stackoverflow.com/questions/12318778
复制相似问题