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

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

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

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

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

使用场景

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

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

常见场景

常见配置

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

为什么?

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

复制代码
皮一下

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

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

协商缓存(试探性理你
cache-control : nocache
相关推荐
myloveasuka1 小时前
分离指令缓存(I-Cache)和数据缓存(D-Cache)的原因
笔记·缓存·计算机组成原理·硬件
想搞艺术的程序员2 小时前
架构破局 - Redis 不再做缓存!替代 MySQL 做主存储
redis·缓存·架构
2401_841495644 小时前
【LeetCode刷题】LRU缓存
数据结构·python·算法·leetcode·缓存·lru缓存·查找
醒过来摸鱼5 小时前
redis源码deps目录
数据库·redis·缓存
Huanlis5 小时前
Redis Stream 核心原理与实战指南
数据库·redis·缓存
青春男大19 小时前
Redis和RedisTemplate快速上手
java·数据库·redis·后端·spring·缓存
十月南城1 天前
Nginx与网关配置观——超时、限流、TLS与代理缓存的原则化清单
运维·nginx·缓存
醒过来摸鱼1 天前
Redis 源码分类
数据库·redis·缓存
小北方城市网1 天前
MyBatis-Plus 生产级深度优化:从性能到安全的全维度方案
开发语言·redis·分布式·python·缓存·性能优化·mybatis
CodeToGym1 天前
【Spring全家桶】Spring Cache 深度解析:一行注解实现缓存自动化
spring·缓存·自动化