之前面试被问到浏览器的缓存机制,确实了解的不多,现在来记录一下最近知道的。
1、浏览器缓存的概念
简单来说,浏览器缓存就是把一个已经请求过的资源拷贝一份存储起来,当下次需要该资源时,浏览器会根据缓存机制决定直接使用缓存资源还是再次向服务器发送请求。
如图:
from memory cache 就代表着从缓存中获取的数据,并且大部分数据都是浏览器直接读取了缓存。
2、浏览器缓存的作用
我觉得作用可以从两方面来谈,一方面从用户的角度来说,加速了浏览,浏览器在用户磁盘上对请求过的文档进行存储,当访问者再次请求这个页面时,浏览器就可以从本地磁盘显示文档,这样就可以加速页面的阅览,提升了用户的体验
另一方面从网站的运营者来说,减少网络带宽消耗,可以有效的降低运营成本。 并且降低了服务器压力给网络资源设定有效期之后,用户可以重复使用本地的缓存,减少对源服务器的请求,间接降低服务器的压力。同时,搜索引擎的爬虫机器人也能根据过期机制降低爬取的频率,也能有效降低服务器的压力。
3、浏览器缓存的位置
from memory cache 表示浏览器从内存中读取的缓存,接下来我们看看还有哪些。
浏览器缓存位置分为四种,其优先级顺序如下:
a、Service Worker
b、Memory Cache
c、Disk Cache
d、Push Cache