清除浏览器页面缓存

比如注册是当浏览器第一次注册成功后,并进行回退到原注册页面再次修改内容并地二次提交,此时的二次提交的内容是

缓存内容,所以要将缓存内容清空后才能生效,清空缓存的方法:

Using PHP:

header("Cache-Control: no-cache, no-store, must-revalidate"); // HTTP 1.1. header("Pragma: no-cache"); // HTTP 1.0. header("Expires: 0"); // Proxies.

Using Java Servlet, or Node.js:

response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1. response.setHeader("Pragma", "no-cache"); // HTTP 1.0. response.setHeader("Expires", "0"); // Proxies.

Using ASP.NET:

Response.AppendHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1. Response.AppendHeader("Pragma", "no-cache"); // HTTP 1.0. Response.AppendHeader("Expires", "0"); // Proxies.

Using ASP:

Response.addHeader "Cache-Control", "no-cache, no-store, must-revalidate" ' HTTP 1.1. Response.addHeader "Pragma", "no-cache" ' HTTP 1.0. Response.addHeader "Expires", "0" ' Proxies.

Using Ruby on Rails, or Python on Flask:

response.headers["Cache-Control"] = "no-cache, no-store, must-revalidate" # HTTP 1.1. response.headers["Pragma"] = "no-cache" # HTTP 1.0. response.headers["Expires"] = "0" # Proxies.

Using Google Go:

responseWriter.Header().Set("Cache-Control", "no-cache, no-store, must-revalidate") // HTTP 1.1. responseWriter.Header().Set("Pragma", "no-cache") // HTTP 1.0. responseWriter.Header().Set("Expires", "0") // Proxies.

Using Apache .htaccess file:

<IfModule mod_headers.c> Header set Cache-Control "no-cache, no-store, must-revalidate" Header set Pragma "no-cache" Header set Expires 0 </IfModule>

Using HTML4:

<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" /> <meta http-equiv="Pragma" content="no-cache" /> <meta http-equiv="Expires" content="0" />

HTML meta tags vs HTTP response headers

根据SO上面的说法,

如果通过HTTP访问,HTTP response headers 是优先于 meta tags 的。但

是,第一次打开是通过HTTP访问的,而返回的时候是从本地读取的。

 
我在自己尝试的时候,发现这两个都需要设置 才能清除页面表单记录。Google浏览器 和 IE11测试通过,页面的记录消除。其他的浏览器未测试。(推测是因为上面的原因)
如果多次测试发现 页面表单的记录还在。
 
但是可以保证,只要写了HTTP response headers 返回的时候一定会重新请求。
 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <%  
 4 response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.  
 5 response.setHeader("Pragma", "no-cache"); // HTTP 1.0.  
 6 response.setHeader("Expires", "0"); // Proxies.  
 7 %> 
 8 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 9 <html>
10 <head>
11 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
12 <title>Insert title here</title>
13     <!-- <meta http-equiv="pragma" content="no-cache">  
14     <meta http-equiv="cache-control" content="no-cache, no-store, must-revalidate" >  
15     <meta http-equiv="expires" content="0" > --> 
16 </head>
17 <body>
18 <%  
19            long token=System.currentTimeMillis();    //产生时间戳的token
20             session.setAttribute("token",token);      
21     %>  
22 
23     <form  action="${pageContext.servletContext.contextPath }/formSubmit/submit_.action" method="post">  
24         <input type="text"  name="username"/>  <br>
25         <input type="text"  name="password"/>  <br>  
26         <input type="hidden" value="${token }" name="reqtoken"/>  <br>   <!-- 作为hidden提交 -->  
27         <input type="submit" value="提交"/>  <br>  
28     </form>  
29 </body>
30 </html>

 

转载于:https://www.cnblogs.com/lubolin/p/7462692.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值