浏览器缓存

浏览器缓存的全过程

首先说明强缓存和协商缓存是什么?
强缓存是在浏览器第二次加载资源时,直接从浏览器缓存中获取,不用再次向服务器发送请求。
协商缓存是,当强缓存中的缓存事件过期时,强缓存没有被命中,这时向服务器发送请求 判断是否资源发生了改变 若没有改变 则返回304 协商缓存。
浏览器缓存的过程:
1、浏览器第一次加载资源,服务器返回 200,浏览器从服务器下载资源文件,并缓存资源文件与 response header(响应头),以供下次加载时对比使用;
2、下一次加载资源时,由于强制缓存优先级较高,先比较当前时间与上一次返回 200 时(上次请求资源成功时)的时间差,如果没有超过 cache-control(http头部字段 控制缓存行为) 设置的max-age(缓存有效期),则没有过期,并命中强缓存,直接从本地读取资源。如果浏览器不支持 HTTP1.1(http持久连接和流水线发包),则使用 expires 头(Expires 是 HTTP 头部字段之一,用于指定资源的过期时间。)判断是否过期;
3、如果资源已过期,则表明强制缓存没有被命中,则开始协商缓存,向服务器发送带有 If-None-Match 和 If-Modified-Since 的请求;
4、服务器收到请求后,优先根据 Etag 的值判断被请求的文件有没有做修改,Etag 值一致则没有修改,命中协商缓存,返回 304;如果不一致则有改动,直接返回新的资源文件带上新的 Etag 值并返回 200;
5、如果服务器收到的请求没有 Etag 值,则将 If-Modified-Since 和被请求文件的最后修改时间做比对,一致则命中协商缓存,返回 304;不一致则返回新的 last-modified 和文件并返回 200;
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值