彻底弄懂浏览器缓存策略

彻底弄懂浏览器缓存策略
https://mp.weixin.qq.com/s?src=11&timestamp=1594880198&ver=2463&signature=1AtuMOYh9xQszTbUYdwfzQ0U-YCKMF20LzP97pg2C7qzfBzMbrsqxIV1k1EtiMNta5mzevPLtLu*WJL6Lrn2i5jIxZWPNyAnKatxukpMpOlHBiqQdNAA-rq9154R73mv&new=1

缓存位置
浏览器可以在内存、硬盘中开辟一个空间用于保存请求资源副本。我们经常调试时在 DevTools Network 里看到 Memory Cache(內存缓存)和 Disk Cache(硬盘缓存),指的就是缓存所在的位置。请求一个资源时,会按照优先级(Service Worker -> Memory Cache -> Disk Cache -> Push Cache)依次查找缓存,如果命中则使用缓存,否则发起请求。这里先介绍 Memory Cache 和 Disk Cache。

我们说的浏览器缓存,可能是上述各种缓存。修改JavaScript文件,如果不用带随机数的url,就容易出现莫名其妙的新JS不加载的问题。

在 preload 或 prefetch 的资源加载时,两者也是均存储在 http cache,当资源加载完成后,如果资源是可以被缓存的,那么其被存储在 http cache 中等待后续使用;如果资源不可被缓存,那么其在被使用前均存储在 memory cache。

chrome浏览器的prefetch,增加了页面的用户体验,也会导致一些不易察觉的【缓存】问题。

posted @ 2020-07-16 14:26  任国强  阅读(420)  评论(0编辑  收藏  举报