【问题标题】:Prevent caching of data in browser防止在浏览器中缓存数据
【发布时间】:2014-02-25 01:26:27
【问题描述】:

我正在处理一项任务,我必须在一个 html 页面上提供指向另一个 html 页面的链接。

第 1 页上的链接将用户发送到一个 servlet。在 Servlet 的 get 方法中,我得到了引用者,如果是第 1 页,我输出第 2 个 HTML 页面。

目标是如果用户绕过第 1 页,直接进入第 2 页(Servlet),他们将被送回第 1 页。

我第一次运行应用程序时,如果我尝试直接进入 Servlet,我会按预期重定向到第 1 页。但是,一旦我单击该链接,似乎 servlet 响应正在被缓存,因为我被发送到第 2 页,而我应该被发送回第 1 页。

我在我的 servlet 代码中添加了以下行,但它似乎仍在缓存中(我的猜测)。

response.setHeader("Cache-Control", "private, no-store, no-cache, must-revalidate");

【问题讨论】:

    标签: servlets


    【解决方案1】:

    必须是 Eclipse 内部的浏览器忽略 no-cache 标头。我在 Firefox 中尝试过,它的行为正确。

    【讨论】:

      【解决方案2】:

      尝试执行以下操作:

        response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); 
        response.setHeader("Pragma", "no-cache"); 
        response.setDateHeader("Expires", 0); 
      

      希望有帮助

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-02-17
        • 1970-01-01
        • 2011-02-08
        • 2011-04-28
        • 2017-02-06
        • 1970-01-01
        • 1970-01-01
        • 2011-11-07
        相关资源
        最近更新 更多