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

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

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

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

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

使用场景

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

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

常见场景

常见配置

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

为什么?

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

复制代码
皮一下

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

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

协商缓存(试探性理你
cache-control : nocache
相关推荐
Arva .1 小时前
Redis 数据类型
数据库·redis·缓存
笑我归无处1 小时前
Redis和数据库的数据一致性问题研究
数据库·redis·缓存
小红的布丁2 小时前
操作系统与高性能 IO:零拷贝、一次读 IO、CPU 缓存与伪共享
缓存
SPC的存折2 小时前
(自用)LNMP-Redis-Discuz5.0部署指南-openEuler24.03-测试环境
linux·运维·服务器·数据库·redis·缓存
Flying pigs~~4 小时前
RAG前身:基于mysql➕redis➕bm25的传统QA问答系统
数据库·redis·缓存·大模型·qa·rag·prompt提示词
言之。4 小时前
LLM大模型缓存详解
缓存
可以简单点5 小时前
spring为什么使用三级缓存而不是两级?
java·spring·缓存
Cyber4K5 小时前
【Nginx专项】基础入门篇-日志格式、日志分类、日志缓存及日志轮转
运维·服务器·nginx·缓存
杰克尼6 小时前
redis(day06-多级缓存)
redis·分布式·缓存
SPC的存折6 小时前
分布式(加一键部署脚本)LNMP-Redis-Discuz5.0部署指南-小白详细版
linux·运维·服务器·数据库·redis·分布式·缓存