我的.Net代码中有以下内容:
Response.Cache.SetCacheability(HttpCacheability.NoCache)
当用户使用Internet Explorer的后退按钮时,他们会收到内容过期警告。他们需要按F5重新加载页面。
我是否可以进行调整,因此没有缓存,但是自动刷新以便不显示警告?
此致
微米。
答案 0 :(得分:1)
当尝试重新加载的页面是POST
请求的结果时,通常会出现“内容已过期”警告。对于历史记录中的正常GET
请求,浏览器只会发出另一个请求。
这就是为什么Post-Redirect-Get模式是用于POST
请求的良好模式的一个原因:重定向从浏览器的历史记录中删除实际的POST结果页面,将其替换为您重定向的页面他们来。 (实际上,它根本没有删除任何内容 - 当浏览器获得'重定向'时,它只是将重定向的页面放入历史记录而不是原始的POST
页面)
这应该符合'幂等获取'的原则,你的GET
请求永远不应该做任何破坏性的事情(这样网络浏览器的默认行为只是从历史中重新请求那些GET页面不是坏事。