所在的位置: html >> html发展 >> 浏览器缓存知识梳理

浏览器缓存知识梳理

北京皮肤科最好的医院 https://myyk.familydoctor.com.cn/2831/schedule_100358_1/

在上家公司时,有同事分享过关于缓存的知识,听完便意识到这一部分的内容是我不熟悉的,一直想着要把这块知识明白。一方面是因为公司As静态服务偶尔资源非立即更新的机制(可能是因为缓存?),另外一方面在webpack打包文件时,也会选择打包出带有hash的资源。而这些知识,隐隐中也觉得和缓存知识相关。

但自己总是不挤时间出来弄明白这块知识,在晃晃中继续开发~~如今受面试问题所扰,以及离职了时间空下来了,那就来整理整理知识。

1.缓存1.1缓存位置

四种缓存位置,优先级从下往上(即如果有ServiceWorker,先查询ServiceWorker,否则查询MemoryWorker)

ServiceWorker(即使关闭浏览器,也不会消失。具体待了解)MemoryCacheDiskCachePushCache1.缓存策略强缓存:Expis、Cache-Control(命中强缓存返回状态码00)协商缓存:Last-Modified/If-Modified-Since或Etag与If-None-Match

以上这些字段控制的缓存都是DiskCache

1.ServiceWorker介绍

ServiceWorker的缓存与浏览器其他内建缓存机制不同,它可以让我们自由控制缓存哪些文件,如何匹配缓存,如何读取缓存,并且缓存时可持续的。

1.MemoryCache介绍

即内存中的缓存,读写比DiskCache高效,但是容量更小。

一旦关闭标签页,内存中的缓存也就释放了,经过测试:第一次打开


转载请注明:http://www.aierlanlan.com/tzrz/5953.html