本文目录导读:

- 如果你是普通用户:调整浏览器缓存规则(用于清理或禁用)
- 如果你是网站开发者 / 运维:在服务器端设置缓存规则
- 如果你使用代理工具(如 Fiddler、Charles、Whistle)或浏览器扩展
- 常见问题与优化建议
- 一句话规则
浏览器的缓存策略主要通过 HTTP 协议头中的 Cache-Control、Expires、Last-Modified 和 ETag 等字段控制,这些规则由网站服务器端设定,但作为用户或开发者,你可以在浏览器设置、开发者工具或代理工具中手动干预。
根据你的身份(普通用户 vs. 开发者),以下是三种主要场景的设置方法:
如果你是普通用户:调整浏览器缓存规则(用于清理或禁用)
通常是关闭/开启缓存或调整缓存空间。
Chrome / Edge 浏览器
- 打开设置:地址栏输入
chrome://settings(Edge 输入edge://settings)。 - 清除缓存:
- 搜索“清除浏览数据”。
- 勾选“缓存的图片和文件”,选择时间范围(如“所有时间”),点击清除。
- 临时禁用缓存(开发者调试用):
- 按
F12打开开发者工具。 - 转到 Network(网络) 面板。
- 勾选顶部的 Disable cache(停用缓存),关闭开发者工具后自动恢复。
- 按
Firefox 浏览器
- 清除缓存:设置 -> 隐私与安全 -> 缓存的网页内容 -> 清除。
- 修改缓存大小:在
about:config中搜索browser.cache.disk.capacity(默认为 256000 KB),可改为更小值。
缓存位置与强制刷新
- 硬性刷新:按
Ctrl + Shift + R(Mac:Cmd + Shift + R)。- 效果:忽略本机缓存,强制从服务器请求最新资源。
- 清空并硬性重新加载:在开发者工具 Network 面板右键点击刷新按钮。
如果你是网站开发者 / 运维:在服务器端设置缓存规则
这是控制浏览器缓存的最根本方式,常见场景及配置如下:
强缓存控制(不询问服务器,直接使用本地副本)
Cache-Control: max-age=秒(HTTP/1.1 标准)max-age=3600:缓存 1 小时。max-age=31536000:缓存 1 年(常用于图片、字体、CSS/JS)。
Expires: 绝对时间(HTTP/1.0 兼容)Expires: Thu, 01 Dec 2025 16:00:00 GMT
示例(Nginx 配置静态资源强缓存 30 天):
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
expires 30d;
add_header Cache-Control "public, immutable"; # immutable 告知浏览器不可变
}
协商缓存控制(需要向服务器验证文件是否修改)
Last-Modified+If-Modified-Since- 服务器返回
Last-Modified: Wed, 21 Oct 2023 07:28:00 GMT - 浏览器下次请求携带
If-Modified-Since,若文件没变,服务器返回304 Not Modified。
- 服务器返回
ETag+If-None-Match更精确的版本号(哈希值)。
/禁止缓存
location /api/ {
add_header Cache-Control "no-store, no-cache, must-revalidate";
# no-store: 完全禁止缓存
# no-cache: 允许缓存但必须每次询问服务器
}
推荐策略:文件指纹 + 强缓存。app.8f3c7a.js(哈希值改变 = 新文件),直接设置 max-age=31536000。
如果你使用代理工具(如 Fiddler、Charles、Whistle)或浏览器扩展
这些工具可以拦截并篡改浏览器请求,覆盖服务器返回的缓存规则。
全局禁用缓存
- Charles:
Proxy -> Cache Settings -> 取消勾选 “Enable cache”。
- Whistle(常用):
- `
whistle pattern ```` (例如www.example.com的规则中写入cache)**,但更常用的是临时禁用:直接在配置面板中勾选Disable cache`。
- `
自定义强制缓存时间
- 使用浏览器扩展如 Cache Killer(Chrome扩展),可一键强制绕过所有缓存。
- 使用 Requestly 或类似工具,修改 Response Header 中的
Cache-Control。
常见问题与优化建议
| 问题 | 原因 | 解决方案 |
|---|---|---|
| 更新后浏览器还是旧页面 | 浏览器使用了强缓存,未请求服务器 | 给静态资源加版本号/时间戳(如 style.css?v=2.0)服务器设置 Cache-Control: no-cache(用于 HTML) |
| 频繁请求导致服务器压力大 | 缓存策略太激进(无缓存或 no-cache) |
对不常变的资源(图片、代码包)设置max-age=7d或更长。 |
| 开发时改代码不生效 | 浏览器缓存了旧文件 | 打开 DevTools -> Network -> 勾选 Disable cache。 |
一句话规则
- 对于资源文件(JS/CSS/图片/字体):使用文件名哈希或版本号,配合
Cache-Control: max-age=31536000(一年)。 - 对于 HTML 页面:使用
Cache-Control: no-cache(每次都询问服务器是否更新)或no-store(完全禁止缓存)。 - 作为前端调试:打开 F12 勾选
Disable cache或者快捷键Ctrl+Shift+R。 - 作为普通用户:手动清除浏览器缓存(一般解决页面加载错乱问题)。
如果你是开发者并遇到缓存问题,建议优先排查服务器返回的 Response Headers 中的 Cache-Control 字段。
标签: 网页缓存规则
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播