摘要:此时的数据时缓存到内存中的,当进程后,也就是浏览器关闭以后,数据将不存在。但是这种方式只能缓存派生资源。不访问服务器,直接读缓存,从磁盘中读取缓存,当进程时,数据还是存在。
今天在做项目的优化的时候,使用chrome开发者工具的network发现了细节:
webkit资源的分类虽然这两个看起来都是从缓存中读取,但还是有一些不一样的!
webkit的资源分类主要分为两大类:主资源和派生资源
http状态码不访问服务器,直接读缓存,从内存中读取缓存。此时的数据时缓存到内存中的,当kill进程后,也就是浏览器关闭以后,数据将不存在。
但是这种方式只能缓存派生资源。
不访问服务器,直接读缓存,从磁盘中读取缓存,当kill进程时,数据还是存在。
这种方式也只能缓存派生资源
访问服务器,发现数据没有
更新,服务器返回此状态码。然后从缓存中读取数据。
三级缓存原理但是这里有困惑,怎么判断from memory cache还是304
先去内存看,如果有,直接加载
如果内存没有,择取硬盘获取,如果有直接加载
如果硬盘也没有,那么就进行网络请求
加载到的资源缓存到硬盘和内存
所以我们可以来解释这个现象
图片为例:
访问-> 200 -> 退出浏览器
再进来-> 200(from disk cache) -> 刷新 -> 200(from memory cache)
web中的文件被用户访问(请求)后的存活时间,是个相对的值,相对Request_time(请求时间)
Expires指定的时间根据服务器配置可能有两种:
文件最后访问时间
文件绝对修改时间
如果max-age和Expires同时存在,则被Cache-Control的max-age覆盖
WEB 服务器认为对象的最后修改时间,比如文件的最后修改时间,动态页面的最后产生时间
对象(比如URL)的标志值,就一个对象而言,文件被修改,Etag也会修改
Cache-Control简单理解,强缓存
最后结论见图片(来源自网络)
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/51288.html
摘要:此时的数据时缓存到内存中的,当进程后,也就是浏览器关闭以后,数据将不存在。但是这种方式只能缓存派生资源。不访问服务器,直接读缓存,从磁盘中读取缓存,当进程时,数据还是存在。 今天在做项目的优化的时候,使用chrome开发者工具的network发现了细节: showImg(https://segmentfault.com/img/remote/1460000011286030); 虽然这...
摘要:此时的数据时缓存到内存中的,当进程后,也就是浏览器关闭以后,数据将不存在。但是这种方式只能缓存派生资源。不访问服务器,直接读缓存,从磁盘中读取缓存,当进程时,数据还是存在。 今天在做项目的优化的时候,使用chrome开发者工具的network发现了细节: showImg(https://segmentfault.com/img/remote/1460000011286030); 虽然这...
摘要:加载并显示图片或加载并执行回调接口。加载图片主要分为三类接口表示异步加载并显示图片到对应的上。以上三类接口最终都会调用到这个函数进行图片加载。不允许访问网络的图片下载器。创建图片下载器,返回一个。 1. 功能介绍 1.1 Android Universal Image Loader Android Universal Image Loader 是一个强大的、可高度定制的图片缓存,本文简...
阅读 3446·2023-04-26 01:45
阅读 2221·2021-11-23 09:51
阅读 3637·2021-10-18 13:29
阅读 3428·2021-09-07 10:12
阅读 697·2021-08-27 16:24
阅读 1765·2019-08-30 15:44
阅读 2191·2019-08-30 15:43
阅读 2943·2019-08-30 13:11