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

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

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

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

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

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

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

强缓存(强制缓存):

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

协商缓存:

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

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

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

总结:

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

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

相关推荐
陌路203 小时前
redis五种数据类型
数据库·redis·缓存
北城以北88883 小时前
SpringBoot--Spring Boot原生缓存基于Redis的Cacheable注解使用
java·spring boot·redis·缓存·intellij-idea
共享家952719 小时前
Redis背景知识
数据库·redis·缓存
gugugu.20 小时前
Redis持久化机制详解(二):AOF持久化全解析
数据库·redis·缓存
陌路201 天前
redis缓存雪崩,击穿,穿透
redis·缓存·mybatis
gugugu.1 天前
Redis持久化机制详解(一):RDB全解析
数据库·redis·缓存
陌路201 天前
redis持久化篇AOF与RDB详解
数据库·redis·缓存
爱吃KFC的大肥羊1 天前
Redis持久化详解(一):RDB快照机制深度解析
数据库·redis·缓存
黎明破晓.1 天前
Redis
数据库·redis·缓存