浏览器有哪几种缓存?各种缓存之间的优先级

在浏览器中,有以下几种常见的缓存:

1、强制缓存 :通过设置 Cache-Control 和 Expires 等响应头实现,可以让浏览器直接从本地缓存中读取资源而不发起请求。
2、协商缓存: 通过设置 Last-Modified 和 ETag 等响应头实现,可以让浏览器发送条件请求,询问服务器是否有更新的资源。如果服务器返回 304 Not Modified 响应,则表示客户端本地缓存仍然有效,可直接使用缓存的资源。
3、Service Worker 缓存: Service Worker 是一种特殊的 JS 脚本,可以拦截网络请求并返回缓存的响应,以实现离线访问和更快的加载速度等功能。
**4、Web Storage 缓存:**包括 localStorage 和 sessionStorage。localStorage 用于存储用户在网站上的永久性数据,而 sessionStorage 则用于存储用户会话过程中的临时数据。

优先级:

1、Service Worker 缓存: 由于其可以完全控制网络请求,因此具有最高的优先级,即使是强制缓存也可以被它所覆盖。
2、强制缓存: 如果存在强制缓存,并且缓存没有过期,则直接使用缓存,不需要向服务器发送请求。
3、协商缓存: 如果强制缓存未命中,但协商缓存可用,则会向服务器发送条件请求,询问资源是否更新。如果服务器返回 304 Not Modified 响应,则直接使用缓存。
**4、Web Storage 缓存:**Web Storage 缓存的优先级最低,只有在网络不可用或者其他缓存都未命中时才会生效。

相关推荐
码士集团小青4 分钟前
硬核 | Redis 布隆(Bloom Filter)过滤器原理与实战
数据库·redis·缓存
feixing_fx9 分钟前
CSS Grid 入门:二维布局时代的降维打击
前端·css·前端框架·css3
Lank_M14 分钟前
JPG的8×8块里只要有条边,白底就保不住255
前端
coding漫漫长路17 分钟前
主图纯白检测,阈值放宽到250会放过252的底
前端
计算机魔术师18 分钟前
藏了八个月没被当漏洞的洞,AI红队一晚上翻出来了
前端
用户831348593069819 分钟前
Vue3 v-for:常用用法与开发高频坑点
前端·javascript·vue.js
用户6210075870223 分钟前
Web 3D 开发实践:BIM+GIS 融合需要解决哪些技术问题?
前端·three.js
志尊宝23 分钟前
AI原生前端开发(017):端侧AI与Vue 3结合实战
前端·人工智能·prompt·1024·ai-native
钱栈up24 分钟前
配料秤料位查出来是负数——IoTDB存的是周期增量,我却在拿首尾相减
前端·数据库
Funlang26 分钟前
fun-ui 开源:把浏览器界面接回来
前端·javascript