Http Chrome和Firefox缓存403

Http Chrome和Firefox缓存403,http,google-chrome,firefox,browser-cache,http-status-code-403,Http,Google Chrome,Firefox,Browser Cache,Http Status Code 403,我有一个奇怪的错误,不知道是否有人能想出一个原因 情景:- 用户尝试访问受限制的内容,得到一个状态代码为403的转机页面 用户登录 用户尝试再次访问内容,但应被允许,浏览器返回缓存的拒绝页面和403响应(服务器上未注册命中) 按住CTRL+F5键或稍等片刻,浏览器将返回正确的内容 这是在Firefox和Chrome上发生的,我还没有试过InternetExplorer 我只在我的机器上复制了一次这个问题,而在与测试人员的Skype通话中,他们每次都可以复制它。不过,他们的总部设在印度,与我们

我有一个奇怪的错误,不知道是否有人能想出一个原因

情景:-

  • 用户尝试访问受限制的内容,得到一个状态代码为403的转机页面
  • 用户登录
  • 用户尝试再次访问内容,但应被允许,浏览器返回缓存的拒绝页面和403响应(服务器上未注册命中)
  • 按住CTRL+F5键或稍等片刻,浏览器将返回正确的内容
这是在Firefox和Chrome上发生的,我还没有试过InternetExplorer

我只在我的机器上复制了一次这个问题,而在与测试人员的Skype通话中,他们每次都可以复制它。不过,他们的总部设在印度,与我们测试站点的连接速度要慢得多。这可能是原因吗

我看到了一个相关的问题,但这是由Squid代理引起的,我不支持代理(尽管测试人员可能支持)

我不喜欢添加缓存控制头,因为浏览器不应该根据的缓存403,但我需要保证当用户登录时,他们会得到正确的内容


任何关于原因的想法都将不胜感激。同时,我将向turn away页面添加一些缓存控制头,看看这是否有帮助。

使用GET请求生成的页面可以在客户端或中间代理上缓存。尝试在URL参数中添加一个随机数,这样浏览器就不会认为这是一个旧的响应。感谢您的响应Bimalesh,我对HTTP缓存有很好的理解。如果你关注我的链接,你会发现它不应该被缓存。另外,我不想在URL的末尾附加一个随机数,因为这需要先重定向。我只想返回没有重定向的内容。您是否隔离了缓存响应的实体?浏览器或中间的代理。也许你可以使用数据包捕获和检查。如果浏览器正在缓存,您应该检查FF/Chrome的开放bug。在任何一种情况下,如果您必须解决这个问题,那么您都必须通过url操作或HTTP头来阻止缓存。很抱歉,如果这没有用。如问题所述,它必须是浏览器,因为我没有代理。非常奇怪,谢谢你的建议。