浏览器在收到 HTTP 304 后显示页面的无缓存版本
它发生在我的 WordPress 和 nginx 配置中,但在我看来,这是浏览器/HTTP 相关的问题。
一切都与一个页面有关,该页面以两个版本显示,适用于登录用户和匿名用户。场景:
- Wordpress 正在为应缓存的用户页面提供服务 (HTTP 200)
- Wordpress 正在为登录用户提供不应缓存的页面(没有缓存标头的 HTTP 200)。
- 注销后,我希望用户接收第 1 页,但他从浏览器缓存中获取第 2 页。 Nginx 正在发送 HTTP 304,因此浏览器应该从浏览器内存或服务器中获取最后缓存的页面。但这并没有发生。
这些是上述情况的 HTTP 标头: http://pastebin.com/nJAxLQSq
It happens in my Wordpress and nginx configuration but IMO it's browser/HTTP related problem.
Everything is about one page, that appears in two versions, for logged in user and anonymous user. Scenario:
- Wordpress is serving user page that should be cached (HTTP 200)
- Wordpress is serving, for logged in user, a page that should NOT be cached (HTTP 200 with no cache header).
- After logging out, I want user to receive page no 1, but he is getting page no 2 from browser cache. Nginx is sending HTTP 304, so the browser should take last cached page from browser memory or from the server. But it's not happening.
These are HTTP headers for above cases: http://pastebin.com/nJAxLQSq
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论