如何制定前端资源的最佳缓存策略?

3,380 阅读2分钟

如何制定前端资源的最佳缓存策略?

如何制定前端资源的最佳缓存策略?什么意思?

前端有很多类型的资源 比如:.js .css .png index.html

不同资源,缓存时间的策略应该有所不同

如何制定最佳缓存策略

最好的标准是根据资源更改的频率制定

HtmlCss 和 js图片
频率可能会频繁更改,需要每次都询问。可能每月修改几乎不变
Cache-Controlprivate, no-cachePublic, max-age=2592000 (一个月)Public, max-age=31536000 (一年),stale-while-revalidate=86400
使缓存失效每次都要询问,确保最新自动过期或改名字(hash值)自动过期或改名字(hash值)

现代工程化架构下的最佳缓存策略有所不同

背景: 任何一个css或js文件,只要有变更,通过webpack或其他打包工具,自动改变文件的名(hash值)

此工程下的最佳缓存策略可以设置为:

HtmlCss 和 js图片
频率可能会频繁更改,需要每次都询问。可能每月修改几乎不变
Cache-Controlprivate, no-cachePublic, max-age=31536000 (一年甚至永久)Public, max-age=31536000 (一年甚至永久),stale-while-revalidate=86400
使缓存失效每次都要询问,确保最新改名字(hash值)改名字(hash值)

具体操作

更改nginx配置,设置响应头,Cache-Control:max-age:xx

  • 公司内的话,可以让运维改,告诉运维哪些类型的资源 对应哪些缓存策略

码字不易,点赞鼓励


性能优化合集快速入口: