在网上看到的强制缓存的方法基本都是响应头设置cache-control,难道前端不能自己缓存到disk cahe里吗?
在网上看到的强制缓存的方法基本都是响应头设置cache-control,难道前端不能自己缓存到disk cahe里吗?
前端缓存可以基于浏览器的LocalStorage,IndexedDB,service worker。
service worker可以监控到发出去的所有请求,然后设置缓存,实现更方便一些,但是兼容性差点。
LocalStorage只能存字符串,而且容量很小。IndexedDB可以存二进制,容量一般不小于250M。
总体还是推荐使用IndexedDB,虽然有点小繁琐。
13 回答13.1k 阅读
8 回答3k 阅读
3 回答1.4k 阅读✓ 已解决
2 回答5.3k 阅读✓ 已解决
5 回答1.5k 阅读
7 回答2.2k 阅读
3 回答2.4k 阅读✓ 已解决
前端的缓存和浏览器的cache是相互隔离的,所以前端不能控制disk cache。
前端有自己的缓存:localstorage、sessionstorage、cookie、indexDB等。
请求的响应头中的cache-control、expires、etag、last-modified等是浏览器级缓存