首页 >> 大全

浏览器工作原理(4):浏览器缓存机制

2023-12-11 大全 28 作者:考证青年

浏览缓存机制 1.概述

浏览器具有缓存的功能,缓存的本质是为了:

使用缓存能直接从本地读取数据,减少向服务器请求数据,缓解服务器压力。使用缓存能提高浏览器的二次渲染的时间,以及减少用户的流量消耗。 2.缓存的形式

浏览器缓存分为两种:

1️⃣ 强缓存(直接命中本地缓存)

浏览器发送请求之前,会先查看本地是否缓存,如果命中本地缓存,则无需向服务器发送请求,直接用本地缓存中的数据。

2️⃣ 协商缓存(与服务器协商是否命中本都缓存)

如果缓存过期,浏览器则会发送一个请求给服务器,服务器拿到请求后会根据请求头中的几个字段来判断对比服务器上的资和浏览器上的缓存是否一致,若一致则浏览器可以继续使用本地的缓存,这就是命中了协商缓存,其结果就是给浏览器返回 304 状态码,告知该资源未发生变动,可以继续使用本地缓存。

3.缓存的类型

缓存分为两种缓存:

1️⃣ cache:内存缓存

特点:优先级高,存储在内存中,存活时间短,页面关闭就会释放这些资源。

2️⃣ disk cache:磁盘缓存

特点:优先级低,存储在硬盘中,存活时间长,一般用来存储css,图片等资源。

5.请求头设置

强缓存使用 和 Cache- 两个响应头来控制强缓存的新鲜度。

浏览器的缓存原理_浏览器缓存概念_

-> http/1.0

Cache- -> http/1.1

协商缓存使用两对 Last-/if--Since 和 ETag/if-None-Math 来协商是否命中协商缓存

Last-/if--Since

ETag/if-None-Math

服务器返回资源时,每次都会在响应头中返回**ETag** ,这是服务器用来表示该资源的唯一标识,如果文件发生改变,该标识也会改变。

浏览器在请求资源时,会在 if-None-Math 中带上该资源的唯一标识,用于和服务器上资源进行对比,如果服务器上的资源为改变则返回状态码 304 告知客户端使用缓存,若资源发生改变则返回状态码 200 并带上新的资源。

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了