SSR/SSG 应用的静态资源与缓存策略怎么设计?
静态资源(JS/CSS/图片):带内容哈希文件名 → Cache-Control: max-age=31536000, immutable,永远命中强缓存。
HTML 页面:
- SSG 页面:可长缓存(内容不变)
- SSR 页面:通常不缓存或短缓存(内容随请求变),用 CDN 边缘缓存 +
Cache-Tag/Surrogate-Key做精准失效 - ISR 页面:CDN 缓存一段时间,后台再生
浏览器 → CDN(边缘) → 命中则直接返回;未命中 → 源站 SSR/静态把「不变的资源」与「会变的内容」分离缓存是核心思想;配合 stale-while-revalidate 还能「先返回旧、后台更新」。