# 17.来自内存缓存和来自磁盘内存
# 一:三级缓存原理
- 先查找内存,如果内存中存在,从内存中加载;
- 如果内存中未查找到,选择硬盘获取,如果硬盘中有,从硬盘中加载;
- 如果硬盘中未查找到,那就进行网络请求;
- 加载到的资源缓存到硬盘和内存;
# 二:内存(memory)和磁盘(disk)
从字面意思不难理解,这都是浏览器的一种缓存机制。disk
是从硬盘中读取资源,而 memory
则是从内存中获取资源,两者的区别就是内存和硬盘的区别:memory
中的资源是临时的,当关闭或者刷新页面后就会丢失;而 disk
是存在硬盘上的,可以从文件夹中找到。
那是不是 memory
中的资源等下载加载页面的时候又要从服务器获取呢?其实不然,memory
中的资源其实也同时会存在 disk
中,所以下一次加载,浏览器会优先从 memory
中检索。
# 三:哪些资源会被浏览器缓存?
- 需要通过
GET
请求的, - 资源类型为
[ 脚本、样式表、图片、媒体、字体 ]
是会缓存在disk
中的, - 而其中的
[ 脚本、图片、字体 ]
又是会缓存在memory
中的。