浏览器有哪几种缓存,各种缓存的优先级是什么样的?

一、在浏览器中,常见的有四种缓存

1、强制缓存

通过设置 Cache-Control 和 Expires 等响应头实现,可以让浏览器直接从本地缓存中读取资源而不发起请求。

2、协商缓存

通过设置 Last-Modified 和 ETag 等响应头实现,可以让浏览器发送条件请求,询问服务器是否有更新的资源。如果服务器返回 304 Not Modified 响应,则表示客户端本地缓存仍然有效,可直接使用缓存的资源。

3、Service Worker 缓存

Service Worker 是一种特殊的 JS 脚本,可以拦截网络请求并返回缓存的响应,以实现离线访问和更快的加载速度等功能。

4、Web Storage 缓存

包括 localStorage 和 sessionStorage。localStorage 用于存储用户在网站上的永久性数据,而 sessionStorage 则用于存储用户会话过程中的临时数据。

二、常见缓存的优先级如下:(从高到低)

① Service Worker 缓存

由于其可以完全控制网络请求,因此具有最高的优先级,即使是强制缓存也可以被它所覆盖。

② 强制缓存

如果存在强制缓存,并且缓存没有过期,则直接使用缓存,不需要向服务器发送请求。

③ 协商缓存

如果强制缓存未命中,但协商缓存可用,则会向服务器发送条件请求,询问资源是否更新。如果服务器返回 304 Not Modified 响应,则直接使用缓存。

④ Web Storage 缓存

Web Storage 缓存的优先级最低,只有在网络不可用或者其他缓存都未命中时才会生效。

相关推荐
yuanyxh15 小时前
Mac 软件推荐
前端·javascript·程序员
万少15 小时前
AtomCode开发微信小程序《谁去呀》 全流程
前端·javascript·后端
某人辛木16 小时前
Web自动化测试
前端·python·pycharm·pytest
Kagol16 小时前
Superpowers GSD gstack AgentSkills深度测评
前端·人工智能
excel17 小时前
JavaScript 字符串与模板字面量:从表象到本质理解
前端
京东云开发者18 小时前
当AI成为导演-如何用AI创作动漫短剧
前端
李白的天不白18 小时前
使用 SmartAdmin 进行前后端开发
java·前端
乘风gg18 小时前
🤡PUA AI Coding 工具 的 10 条终极语录
前端·ai编程·claude
学Linux的语莫18 小时前
Vue 3 入门教程
前端·javascript·vue.js
怕浪猫19 小时前
第一章、Chrome DevTools Protocol (CDP) 详解
前端·javascript·chrome