200 OK(from memory cache)内存缓存

不访问服务器,直接从内存中读取缓存。

此时获取的数据是缓存到内存中的,当kill进程后(浏览器关闭),数据将不存在(资源被释放掉了)。

如果再次打开页面时,不会出现200 OK(from memory cache)。

特点

  1. 内存缓存容量小
  2. 快速读取:内存缓存会将编译解析后的文件,直接存入该进程的内存中,占据该进程一定的内存资源,以方便下次运行使用时的快速读取
  3. 时效性:缓存时效性很短,会随着进程的释放而释放

200 OK(from disk cache)硬盘缓存

不访问服务器,直接从磁盘中读取缓存,当kill进程后(关闭浏览器),数据还存在。

下次打开页面还是from disk cache。

原理

硬盘缓存是直接将缓存写入硬盘文件中,读取缓存需要对该缓存存放的硬盘文件进行I/O操作,然后重新解析该缓存内容,读取复杂,速度比内存缓存慢。

容量

硬盘缓存容量大

304 Not Modified

访问服务器,发现数据没有更新,服务器返回此状态码。然后,从缓存中读取数据。

几种状态对比

状态 类型 说明
200 form memory cache 不请求网络资源,资源在内存当中,一般脚本、字体、图片会存在内存当中
200 form disk ceche 不请求网络资源,在磁盘当中,一般非脚本会存在磁盘当中,如css等
200 资源大小数值 从服务器下载最新资源
304 报文大小 请求服务端发现资源没更新,使用本地资源

样式表一般在磁盘中,不会缓存到内存中去,因为CSS样式加载一次即可渲染出网页。但是,脚本却可能随时会执行,如果脚本在磁盘当中,在执行该脚本需要从磁盘中取到内存当中来。这样IO开销比较大,有可能会导致浏览器失去响应。因此,脚本一般在内存中。

对于大文件来说,大概率是不存储在内存中的,反之优先。当前系统内存使用率高的话,文件优先存储进硬盘。
在浏览器中,浏览器会在js和图片等文件解析执行后直接存入内存缓存中,那么当刷新页面时只需直接从内存缓存中读取(from memory cache);而css文件则会存入硬盘文件中,所以每次渲染页面都需要从硬盘读取缓存(from disk cache)。

三级缓存原理

  1. 先查找内存,如果有,直接从内存中加载

  2. 如果内存没有,则去硬盘获取,如果有直接加载

  3. 如果硬盘也没有,那么就进行网络请求

  4. 加载到的资源缓存到硬盘和内存

浏览器运行时是由几个进程协作的,所以操作系统为了节省内存,会把一部分内存里的资源交换回磁盘的交换区,当然交换是有策略的,比如最常用的就是LRU。所以缓存资源不过期的时候,如果资源在内存那么就from memory,如果只有在磁盘上就from disk。

示例:

加载一个图片资源顺序:

访问 -> 200 -> 退出浏览器

再次进入-> 200(from disk cache) -> 刷新 -> 200(from memory cache)

禁止200缓存方法

禁止200 OK (from disk cache) 这个缓存的方法是,ajax 请求是带上参数 cache: false。

200 OK(from memory cache)和 200 OK(from disk cache)相关推荐

  1. 内存缓存(from memory cache)和硬盘缓存(from disk cache) 的区别

    引言 ?命中强制缓存时,资源会显示 from memory cache or from disk cache 两者的区别 内存缓存(from memory cache) 内存缓存具有两个特点,分别是快 ...

  2. 浏览器缓存:memory cache、disk cache、强缓存协商缓存等概念

    文章目录 分类 memory cache disk cache Service Worker Push Cache 缓存过程 强缓存 1.Expires 2.Cache-Control Expires ...

  3. 浏览器缓存(一):强缓存 MEMORY CACHE 和 DISK CACHE

    关于memory cache 和 disk cache 随便浏览一个网站: 首次打开,或者开启浏览器的 Disable Cache(浏览器的Network下, 与Preserve log同级别),在s ...

  4. 聊一聊缓存 [from memory cache 和 from disk cache]

    今天看到了一个问题,如果浏览器关闭了再打开, 请求还是from cache吗?  笼统的说yes 现在简单的来分析一下,首先,大家可以想一下,浏览器的缓存存放在哪里,如何在浏览器中判断强制缓存是否生效 ...

  5. 浏览器缓存 from memory cache与from disk cache详解

    在chrome浏览器中的控制台Network中size栏通常会有三种状态 from memory cache from disk cache 资源本身的大小(如:1.5k) 那么问题来了 三种区别在哪 ...

  6. 浏览器Disk Cache磁盘缓存及其协商缓存、及原生App和浏览器实现缓存的差异

    浏览器Disk Cache磁盘缓存及其协商缓存.及原生App和浏览器实现缓存的差异 目录 浏览器Disk Cache磁盘缓存及其协商缓存.及原生App和浏览器实现缓存的差异 1.Memory Cach ...

  7. Status Code:200 OK (from disk cache)和304的区别,以及怎么禁止缓存

    有时候缓存是 200 OK (from disk cache)有时候会是 304 ? 看运维是否移除了 Entity Tag.移除了,就总是 200 OK (from cache).没有移除,就两者交 ...

  8. 请求数据出现200(from disk cache)

    当请求数据时为啥请求成功了就是不返回结果呢 请求数据明明显示200成功了,为什么返回没有结果???结果发现200后面跟着from disk cache,这是个什么鬼??? 看这个意思好像是缓存的问题, ...

  9. Chrome中的from memory cache与from disk cache

    文章目录 前言 一.浏览器Network的Size列 二.三级缓存原理 三.HTTP状态码及区别 四.不同浏览器资源加载策略 前言 在Chrome开发者工具页面中,有Network一栏,如下图所示: ...

  10. memory cache 和 disk cache

    from memory cache 和 from disk cache 最近在优化Vue项目,因此打开网页,按下F12.发现很多js,css得下载来自于 memory cache,引申出问题:请求时浏 ...

最新文章

  1. 太酷啦!我在A4纸上看宫崎骏动画
  2. 自动驾驶国家标准将出台,2021年是L3级自动驾驶汽车元年?
  3. 【枭·音频】注入灵魂—《暗影火炬城》角色语音后期处理
  4. 编译原理 python_Python局部变量编译原理
  5. 由于找不到appvisvsubsystems32.dll_找茬游戏大全:我找东西贼快!小清新找茬游戏小程序,点开既玩...
  6. C++:类访问修饰符
  7. 鸿蒙系统深度解析,深度解析鸿蒙内核最重要的结构体
  8. Python常用图像处理
  9. 每天Leetcode 刷题 初级算法篇-缺失数字
  10. [2018.03.29 T2] 公交旅行
  11. python+pyqt4实现QQ自动发送信息
  12. qq空间留言板删除 php,qq批量删除空间留言及说说
  13. Java中使用Protocol Buffer
  14. 2019信用卡权益总结之十三:延误险
  15. 微信小程序——云开发|计费方式调整大家怎么看?
  16. 在项目中实现多数据源和读写分离的配置
  17. com.android.backupconfirm,使用ADB停用一些自己讨厌的东西记录备忘
  18. 当鼠标移动到表单上,改变表单的颜色
  19. 文件管理系统FastDFS详解
  20. 记录一次docker安装遇到的坑

热门文章

  1. 刘强东的高调,给京东带来了流量,也给京东带来了灾难
  2. 我爱淘二次冲刺阶段6
  3. [转]内向的人如何建立人际网络
  4. 【数字化常识】浅谈互联网企业的利器——“网络效应”
  5. 关于python中的三个点【...】
  6. java heap space 什么意思_java heap space是什么意思?
  7. S5800/S5820X系列交换机GRE隧道
  8. 计算机时代汉字书写有了新的方式,网络时代的汉字书写
  9. DRILLNET 2.0------第二十三章 井控压井单模型
  10. 二层交换机、三层交换机和路由器的区别