← 全部文章

技术与生活 / 一篇记录

CSS 更新后没变化,先看看缓存头

相同 URL 在缓存期内可能直接使用旧内容。入口页面与带指纹资源通常需要不同策略,资源版本写进文件名,可以让更新更加明确而可预测。

带内容指纹的资源适合长缓存,HTML 则需要更快发现新版本。

实际怎么检查

配置片段不是完整配置文件,应放入正确的上下文,并按实际环境调整路径与端口。

location /assets/ { expires 1h; }

用响应头确认缓存策略,而不是只看浏览器是否感觉变快。

遇到异常再检查什么

同时观察首次请求、缓存命中与重新验证三种情况。修改缓存头不会立即撤销所有客户端已保存的旧策略,发布设计应提前考虑失效方式。

调试时临时禁用浏览器缓存,只能说明无缓存路径可用。正式发布仍应验证用户已有缓存的情况,尤其是 HTML 与脚本版本必须互相兼容时,需要设计好资源命名与入口更新。

长期缓存同名资源会让旧客户端迟迟拿不到更新。

参考:Nginx 文档。

搜索文章

输入关键词,找回一篇记录。