繁体   English   中英

如何防止form.target导致历史记录中的所有HTTP GET再次往返服务器?

[英]How to prevent form.target from causing all HTTP GET in history from doing another roundtrip to the server?

好的,我正在使用form.target在新窗口中打开内容。 但是,当我执行此操作,然后在浏览器上单击“后退”按钮时,我发现由GET产生的任何条目都在进行服务器的另一次往返。 这是一个问题,因为在此期间可能已更改了会话变量,因此新的GET不再与旧的GET匹配。

我正在为此Web应用程序使用C#和javascript,如果有帮助的话。

在IE8上会发生此行为,但在Firefox 10上不会发生。有什么方法可以在IE 8中阻止它?

我通过在URL上添加半随机ID作为查询字符串来解决此问题。

我还将此添加到了OnInit事件中。 由于某些原因,显式设置缓存设置会有所帮助。

Response.AppendHeader("Cache-Control", "private, max-age=600");

结合起来,这使页面具有唯一性并强制了浏览器缓存。 这会阻止浏览器在浏览历史记录中遇到GET操作时始终检索页面的最新版本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM