我有一个奇怪的错误,想知道是否有其他人能想到原因。
设想: -
- 用户尝试访问受限制的内容,获得带有 403 状态代码的拒绝页面
- 用户登录
- 用户尝试再次访问内容但应该被允许,浏览器返回缓存的离开页面和 403 响应(在服务器上未注册命中)。
- CTRL+F5 或稍等片刻,浏览器返回正确的内容。
这发生在 Firefox 和 Chrome 中,我还没有尝试过 Internet Exploder。
在与测试人员进行 Skype 通话时,我只在我的机器上重现了一次该问题,他们每次都可以重现它。不过,它们位于印度,与我们的测试站点的连接速度要慢得多。这可能是一个原因吗?
我看到了一个相关的问题,但这是由 Squid 代理引起的,我不在代理后面(尽管测试人员可能是)。
我不愿意添加缓存控制标头,因为浏览器不应该根据HTTP 规范缓存 403,但我需要保证当用户登录时他们会得到正确的内容。
任何关于可能是什么原因的想法将不胜感激。同时,我将在转出页面中添加一些缓存控制标头,看看是否有帮助。