保持页面从缓存提交

时间:2012-11-29 15:59:12

标签: html forms caching submit

出于安全原因,我们不希望存储某人提交的信息。例如,在通过表单提交进入页面后,当我刷新时,它会询问我是否要再次发送相同的数据(至少在Chrome中)。

我们正在尝试创建会话行为。我们没有维护服务器会话 - 登录后,用户返回一个页面。由于用户在登录后没有其他页面导航(完全没有服务器调用),因此以这种方式处理它似乎更简单。但是,刷新页面允许重新提交数据,我们不希望这样。您也可以单击后退按钮,然后单击前进按钮,页面仍然存在,或者转到其他站点,然后返回到页面。

我找到了<meta http-equiv="CACHE-CONTROL" content="NO-CACHE">,但它似乎没有任何效果。

Javascript解决方案是可以接受的,因为需要javascript(不是我,不要拍摄信使)才能访问。

谢谢!

1 个答案:

答案 0 :(得分:1)

为了确保页面不会缓存,您需要在文档底部放置另一组“HEAD”标记。

例如:

<HTML>
<HEAD>
<TITLE>No Cache</TITLE>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">
</HEAD>
<BODY>

...

</BODY>
<HEAD>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">
</HEAD>
</HTML>

source

- -

<meta http-equiv="cache-control" content="max-age=0" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />
<meta http-equiv="pragma" content="no-cache" />

指定的日期应该是过去的日期,以便浏览器立即丢弃缓存的副本或根本不缓存它。