Netlify Headers 静态资产的缓存控制
Netlify Headers Cache Control For Static Assets
是否可以拥有缓存控制但仅适用于图像、字体、css 和 js 等静态资产?
这是我的解决方法
[[headers]]
for = "/*" # This defines which paths this specific [[headers]] block will cover.
[headers.values]
Cache-Control = "public, max-age=604800"
它非常有效,但并不像我预期的那样。即使我更新内容,该网站似乎仍使用旧版本。
您现在说浏览器应该为访问过您网站的任何人缓存每个文件,包括 index.html,为期一周。因此,您会看到您网站的旧副本。
这可能不是您想要的。更好的方法是创建多个 header 规则,每种规则一个:
[[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 非常有意地将缓存设置为 max-age of 0,但它确实允许缓存内容并启用原子回滚和部署。以下是详细信息:https://www.netlify.com/blog/2017/02/23/better-living-through-caching/
是否可以拥有缓存控制但仅适用于图像、字体、css 和 js 等静态资产?
这是我的解决方法
[[headers]]
for = "/*" # This defines which paths this specific [[headers]] block will cover.
[headers.values]
Cache-Control = "public, max-age=604800"
它非常有效,但并不像我预期的那样。即使我更新内容,该网站似乎仍使用旧版本。
您现在说浏览器应该为访问过您网站的任何人缓存每个文件,包括 index.html,为期一周。因此,您会看到您网站的旧副本。
这可能不是您想要的。更好的方法是创建多个 header 规则,每种规则一个:
[[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 非常有意地将缓存设置为 max-age of 0,但它确实允许缓存内容并启用原子回滚和部署。以下是详细信息:https://www.netlify.com/blog/2017/02/23/better-living-through-caching/