# 17.来自内存缓存和来自磁盘内存

# 一:三级缓存原理

  1. 先查找内存,如果内存中存在,从内存中加载;
  2. 如果内存中未查找到,选择硬盘获取,如果硬盘中有,从硬盘中加载;
  3. 如果硬盘中未查找到,那就进行网络请求;
  4. 加载到的资源缓存到硬盘和内存;

# 二:内存(memory)和磁盘(disk)

从字面意思不难理解,这都是浏览器的一种缓存机制。disk 是从硬盘中读取资源,而 memory 则是从内存中获取资源,两者的区别就是内存和硬盘的区别:memory 中的资源是临时的,当关闭或者刷新页面后就会丢失;而 disk 是存在硬盘上的,可以从文件夹中找到。

那是不是 memory 中的资源等下载加载页面的时候又要从服务器获取呢?其实不然,memory 中的资源其实也同时会存在 disk 中,所以下一次加载,浏览器会优先从 memory 中检索。

# 三:哪些资源会被浏览器缓存?

  1. 需要通过 GET 请求的,
  2. 资源类型为[ 脚本、样式表、图片、媒体、字体 ]是会缓存在 disk 中的,
  3. 而其中的 [ 脚本、图片、字体 ]又是会缓存在 memory 中的。
Last Updated: 6/3/2024, 1:08:34 AM