缓存能让网站加载更快,但设置不当可能导致用户看到旧内容。这篇文章说说怎么制定合理的缓存策略。
静态资源缓存后,用户再次访问直接从本地读取,不用下载。省流量,加载快,体验好。
Cache-Control:最常用的HTTP头,max-age设置缓存时间。public表示可以被任何缓存,private只被浏览器缓存。
Expires:设置过期时间点,不如Cache-Control灵活,可以作为备用。
ETag:文件内容的哈希值,文件变了ETag也变,用于验证缓存是否有效。
图片、字体:不常变,缓存时间长,比如一年。
CSS、JS:可能会更新,缓存时间适中,比如一周或一个月。用文件名哈希,更新后URL变,强制刷新。
HTML:经常更新,缓存时间短,或者不缓存。
文件更新了,怎么让用户拿到最新版?改文件名最有效,比如style.a1b2c3.css。或者改URL参数,style.css?v=2。
缓存策略要根据业务特点制定,定期 review 调整。