比如我们的webpack项目,其依赖的js、css等可以通过hash避免缓存,但是index.html会被缓存吗?如果缓存的话则页面是未更新前的。
###无论是 js、css,还是 index.html,都只是静态文件,自身无法控制自身的缓存策略
- 哦对,严格说来,index.html 可以通过
<meta>
进行部分控制
- 哦对,严格说来,index.html 可以通过
- 何种文件采用何种缓存策略,大部分由服务器通过 http header 控制
- 所以你想缓存 index.html 就可以缓存,不想缓存也没问题
- 缓存有很多类型,比如浏览器缓存、服务器缓存、service worker 主动缓存等
- 文件 hash 算是比较基础的更新文件方式,这样在不修改服务器配置的前提下,可以同时享有缓存和更新的便利
我觉得 是不缓存。但是有特例啊。
缓存分为好多种,cdn缓存,代理缓存,客户端(用户代理)缓存。
首先,对于html,浏览器不会缓存的,因为这个属于常变的。
对于代理缓存,这个就有点无能为力了。然后会有一些 no-cache
之类的内容。
cdn缓存,更是无解,所以出现了 hash 方案。直接回源。
然后还有一些pwa之类的方案。它都能在无网场景下使用,你说他会不会缓存?