前端fetch静态资源时能够强制浏览器缓存该资源在disk cache中吗?

在网上看到的强制缓存的方法基本都是响应头设置cache-control,难道前端不能自己缓存到disk cahe里吗?

阅读 2.6k
2 个回答

前端的缓存和浏览器的cache是相互隔离的,所以前端不能控制disk cache。
前端有自己的缓存:localstorage、sessionstorage、cookie、indexDB等。
请求的响应头中的cache-control、expires、etag、last-modified等是浏览器级缓存

前端缓存可以基于浏览器的LocalStorage,IndexedDB,service worker。
service worker可以监控到发出去的所有请求,然后设置缓存,实现更方便一些,但是兼容性差点。

LocalStorage只能存字符串,而且容量很小。IndexedDB可以存二进制,容量一般不小于250M。

总体还是推荐使用IndexedDB,虽然有点小繁琐。

推荐问题