前端中的强缓存与协商缓存

强缓存:是直接从本地缓存中加载资源,不向服务器发起请求,除非过期了。这种方式可以减少网络延迟,提高页面加载速度,但无法保证资源的最新性

复制代码
皮一下 :
不管你咋样,我都不搭理你,除非我真的无聊了,任性不?

协商缓存:会在加载资源时先询问服务器,如果资源未更改,直接从本地缓存加载 ;如果资源已更改,则重新从服务器加载。这种方式可以确保使用最新资源,但可能会增加网络延迟。

复制代码
皮一下 :
每次都看你一眼,你变强了,我们聊一下,否则继续不理你,现实不?

使用场景

强缓存通常用于减少网络延迟,提高页面加载速度,适用于访问量较大且资源变化不频繁的情况。

协商缓存则适用于需要确保始终使用最新资源的情况,适用于资源变化频繁或需要根据用户个性化需求加载不同资源的情况。

常见场景

常见配置

html配置为不缓存(nostore),其余静态资源配置为强缓存 (max-age)。

为什么?

html页面不缓存保证拿到最新资源另外构建工具可以达到有修改的静态资源hash会有变动,没有改动的静态资源hash不变,两者结合能最大限度的增加缓存命中

复制代码
皮一下

不缓存 (死活不理你)
cache-control: nostore

强缓存(按需理你)
cache-control:max-age=2592000

协商缓存(试探性理你
cache-control : nocache
相关推荐
ChinaRainbowSea1 小时前
7. LangChain4j + 记忆缓存详细说明
java·数据库·redis·后端·缓存·langchain·ai编程
失散136 小时前
分布式专题——5 大厂Redis高并发缓存架构实战与性能优化
java·redis·分布式·缓存·架构
十八旬8 小时前
苍穹外卖项目实战(day7-1)-缓存菜品和缓存套餐功能-记录实战教程、问题的解决方法以及完整代码
java·数据库·spring boot·redis·缓存·spring cache
MAGICIAN...12 小时前
【Redis五种数据类型】
数据库·redis·缓存
酷ku的森17 小时前
Redis中的Zset数据类型
数据库·redis·缓存
利刃大大1 天前
【高并发内存池】五、页缓存的设计
c++·缓存·项目·内存池
Heliotrope_Sun1 天前
Redis
数据库·redis·缓存
上官浩仁1 天前
springboot redisson 缓存入门与实战
spring boot·redis·缓存
络71 天前
Redis 非缓存核心场景及实例说明
数据库·redis·缓存