You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

服务器更新无法同步至客户端浏览器,配置Cache-Control仍无效求助

解决服务器更新后浏览器缓存未生效的问题

你添加的no-cache头实际是允许浏览器缓存资源,但要求每次使用前向服务器验证资源是否过期。如果这个配置没生效,可从以下几个方向排查解决:

  • 改用更严格的缓存控制组合
    直接禁止浏览器及中间层缓存资源,同时兼容旧版本HTTP协议:

    app.get('/hello', (_, res) => {
        res.header({
            'Cache-Control': 'no-store, no-cache, must-revalidate, proxy-revalidate',
            'Pragma': 'no-cache',
            'Expires': '0'
        });
        res.json('HelloWorld');
    });
    
    • no-store:彻底禁止浏览器和代理服务器存储资源副本
    • must-revalidate:强制浏览器每次请求都向服务器验证资源有效性
    • Pragma: no-cache:兼容HTTP/1.0协议的旧浏览器
    • Expires: 0:将过期时间设为过去,让浏览器直接认为资源已失效
  • 检查缓存头冲突或被覆盖
    确认服务器是否同时返回了ETag、Last-Modified这类协商缓存头,若存在可能导致浏览器仍走协商缓存逻辑。另外要排查是否有反向代理(如Nginx)或框架内置配置覆盖了你设置的Cache-Control头。

  • 验证响应头实际返回情况
    打开浏览器开发者工具(F12)的「网络」标签,请求/hello接口后查看响应头,确认你设置的缓存相关头是否正确返回。如果头信息和代码配置不符,需排查上层服务的缓存规则。

  • 测试时强制刷新缓存
    用Ctrl+Shift+R(Windows/Linux)或Cmd+Shift+R(Mac)强制刷新页面,跳过本地缓存,确认服务器返回的是最新内容,排除测试操作导致的误判。

内容的提问来源于stack exchange,提问作者RedSMURF

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 00:02:06