什么是强缓存,什么是协商缓存

强缓存浏览器又是怎么判断它是还在缓存时间内有没有过期

强缓存主要是根据响应头中的两个字段来判断是否过期:

Expires:这是一个绝对时间,表示资源过期的具体时间点,浏览器会在这个时间之前直接使用缓存,不发请求。

Cache-Control:这是更现代和灵活的控制字段,常用的指令有 max-age,表示资源在多少秒内有效,浏览器在这个时间内直接使用缓存。

浏览器会优先使用 Cache-Control 的设置,如果没有,则使用 Expires。只要缓存未过期,浏览器就不会向服务器发起请求,直接使用本地缓存资源。

那你讲一下什么是强缓存,什么是协商缓存

强缓存(强制缓存):

浏览器在请求资源时,会先检查本地缓存是否存在且未过期,如果满足条件,直接使用缓存资源,不会向服务器发送请求。强缓存主要通过响应头中的 Cache-Control(如 max-age)和 Expires 来控制。

协商缓存:

当强缓存失效后,浏览器会向服务器发送请求,带上上次服务器返回的标识(如 Last-Modified 或 ETag),服务器根据标识判断资源是否修改过:

如果未修改,返回 304 状态码,浏览器继续使用缓存资源。

如果修改了,返回新的资源和状态码 200。

总结:

强缓存优先使用本地缓存,不发请求。

协商缓存会发请求,服务器判断是否使用缓存。

相关推荐
程序员柒叔2 小时前
Dify 集成-数据库与缓存
数据库·缓存·dify
程序媛哪有这么可爱!3 小时前
【删除远程服务器vscode缓存】
服务器·人工智能·vscode·缓存·边缘计算
悟道|养家3 小时前
基于L1/L2 缓存访问速度的角度思考数组和链表的数据结构设计以及工程实践方案选择(2)
java·开发语言·缓存
想摆烂的不会研究的研究生11 小时前
每日八股——Redis(1)
数据库·经验分享·redis·后端·缓存
至善迎风16 小时前
Redis完全指南:从诞生到实战
数据库·redis·缓存
oMcLin19 小时前
如何在 Debian 10 上配置并优化 Redis 集群,确保低延迟高并发的实时数据缓存与查询
redis·缓存·debian
Full Stack Developme1 天前
Redis 可以实现哪些业务功能
数据库·redis·缓存
想摆烂的不会研究的研究生1 天前
每日八股——Redis(2)
数据库·redis·缓存
optimistic_chen1 天前
【Redis系列】主从复制
linux·数据库·redis·缓存·中间件·命令行·主从复制
橘子真甜~1 天前
Reids命令原理与应用4 - Redis 持久化和主从同步
linux·数据库·redis·缓存·持久化