浏览器在收到 HTTP 304 后显示页面的无缓存版本

发布于 2024-12-23 10:51:21 字数 435 浏览 1 评论 0原文

它发生在我的 WordPress 和 nginx 配置中,但在我看来,这是浏览器/HTTP 相关的问题。

一切都与一个页面有关,该页面以两个版本显示,适用于登录用户和匿名用户。场景:

  1. Wordpress 正在为应缓存的用户页面提供服务 (HTTP 200)
  2. Wordpress 正在为登录用户提供不应缓存的页面(没有缓存标头的 HTTP 200)。
  3. 注销后,我希望用户接收第 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:

  1. Wordpress is serving user page that should be cached (HTTP 200)
  2. Wordpress is serving, for logged in user, a page that should NOT be cached (HTTP 200 with no cache header).
  3. 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文