html - 如果两次访问同一页面则缓存 : back button only shows data from second viewing

标签 html caching http-headers

我正在创建一个网页,但我对后退按钮在页面上的工作方式有一些疑问。我猜我需要设置一些 header ,但不知道哪些 header 或如何设置。这就是我所看到的:

(1) 转到显示论坛主题的主页。

(2) 单击链接转到显示主题的页面。在此页面上,向下滚动并添加评论。

(3) 评论是通过表单保存的(编辑:我已经尝试过 POST 和 GET 表单)。现在通过重定向重新加载相同的线程页面。评论显示。

在 Chrome 中:此时按下后退按钮仍会显示评论已添加。好像后退按钮不起作用。但是,页面会像 (2) 那样向下滚动。再次单击后退按钮显示主页面。所以,后退按钮确实让我返回,但如果同一个页面出现两次,它两次都会显示新数据。

在 IE9 中:按后退按钮显示“网页已过期”。再次单击它会将我带到主页。

如何改变这种行为,使后退按钮真正显示上一页?

(我这样做的原因是我跟踪我从主页面有多少页,所以我可以生成一个“返回主页面”链接。(2)上面有 history.go(-1 ) 和 (3) 上面有 history.go(-2)。如果用户从 (3) 按下浏览器后退按钮,这将不起作用,因为它现在距离主页 1,但显示来自 ( 3).

最佳答案

在步骤 (3) 中,您可能有一个返回线程页面的新 HTML 的 POST。相反,POST 应该重定向到线程页面的 GET。

参见 http://en.wikipedia.org/wiki/Post/Redirect/Get

关于html - 如果两次访问同一页面则缓存 : back button only shows data from second viewing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13601125/

相关文章:

php - 生成 3 天后过期 URL 的最佳方法是什么?

caching - azure redis 缓存/ session 是否需要可序列化属性

asp.net - 尽管 key 在缓存中,但 MemoryCache.Default.AddOrGetExisiting 返回 null

http-headers - 如何使用 cookie 创建 HTTP 客户端请求?

git - 从 Powershell 下载私有(private) Github 存储库返回 404

c# - 如何使用方法 post 使用 HttpRequest 发送变量?

HTML 对齐问题 : making rows and columns using div : float tag

html - 纯 CSS 复选框在 WordPress 中不起作用

google-chrome - 如何强制 Chrome 不缓存重定向?

php - 使用 HTML 单选按钮和 javascript 进行评级