面试题库 词条目录
前端Wiki/词条/HTTP 缓存

HTTP 缓存

定义浏览器与服务器之间的缓存协议:强缓存 + 协商缓存两级机制

强缓存:浏览器直接用本地副本,根本不发请求。由 Cache-Control(max-age=3600 等,优先级更高)或 Expires 控制。命中时状态码 200,DevTools 显示 from disk/memory cache,速度最快。

强缓存过期后走协商缓存:发请求问服务器「我这份还能用吗」——If-Modified-Since/Last-Modified 或 If-None-Match/ETag(优先级更高),能用就返回 304 Not Modified(不含响应体,只传 headers,极省流量),不能用返回 200 与新资源。ETag 比 Last-Modified 精确(毫秒内修改/内容变了时间没变都判得出)。

HTML
<!-- 服务器响应头示例 -->

# 强缓存 1 小时(优先级最高)
HTTP/1.1 200 OK
Cache-Control: max-age=3600
Date: Wed, 01 Nov 2026 08:00:00 GMT

# 协商缓存:带指纹返回
HTTP/1.1 200 OK
ETag: "abc123"
Last-Modified: Wed, 01 Nov 2026 07:00:00 GMT
Cache-Control: no-cache     # ★ 每次都要问服务器(走协商)

# 下次请求带上:
If-None-Match: "abc123"
If-Modified-Since: Wed, 01 Nov 2026 07:00:00 GMT

# 没变化 → 304(无 body)
HTTP/1.1 304 Not Modified
ETag: "abc123"
⚠ 常见误区
🔗 相关词条从 URL 输入到页面渲染HTTP 缓存策略前端工程化与打包
← 返回来源章节HTTP 状态码与缓存策略