静态资产的Netlify标头缓存控制

时间:2018-09-13 07:30:23

标签: http-headers cache-control netlify

是否可以仅对图像,字体,css和js等静态资产进行缓存控制?

这是我的解决方法

[[headers]]
  for = "/*" # This defines which paths this specific [[headers]] block will cover.
  [headers.values]
    Cache-Control = "public, max-age=604800"

它很漂亮,但是效果不如我预期。即使更新内容,该网站似乎仍使用旧版本。

1 个答案:

答案 0 :(得分:4)

您现在已经说过,浏览器应该为访问您网站的任何人将每个文件(包括index.html)缓存一周。因此,您将看到站点的旧副本很长时间。

这可能不是您想要的。更好的方法是创建多个标头规则,每种类型一个:

[[headers]]
  for = "*.js" # js files should be set this way
  [headers.values]
    Cache-Control = "public, max-age=604800"
[[headers]]
  for = "*.css" # css files too
  [headers.values]
    Cache-Control = "public, max-age=604800"

但是,您甚至可能不想这样做。 Netlify特意将缓存设置为最大使用期限0,但它确实允许缓存内容,并启用原子回滚和部署。以下是有关的详细信息:https://www.netlify.com/blog/2017/02/23/better-living-through-caching/

相关问题