加载中...

Cache-Control 是 HTTP/1.1 引入的通用头部,以逗号分隔的指令声明请求或响应的缓存策略,是现代 Web 缓存控制的核心机制,优先级高于早期的 Expires 头。
max-age=N 指定资源自响应起 N 秒内为新鲜,期间可不询问服务器直接使用(强缓存);s-maxage 仅对 CDN 等共享缓存生效;no-cache 表示可以缓存但每次使用前必须向服务器验证(配合 ETag 走 304);no-store 完全禁止缓存,用于敏感数据;private/public 区分仅浏览器可存还是代理也可存;immutable 声明资源在有效期内绝不改变,浏览器刷新时也不发验证请求;stale-while-revalidate 允许在后台重新验证的同时先返回过期副本。
静态资源普遍采用「文件名带内容哈希 + max-age 一年 + immutable」的策略,更新靠改名实现;HTML 文档则常用 no-cache 保证及时拿到新版本。指令拼写错误或语义误用(如把 no-cache 当 no-store)是常见的缓存事故来源。

登录 后参与讨论
暂无讨论,来发表第一条评论吧