浏览器缓存url请求
2016-08-18 21:33
197 查看
最近遇到浏览器缓存url的问题,google了一把,学到不少东西,结合网上其他人文章拼凑一篇,供大家交流。
一 防止url被浏览器缓存
根据 HTTP 规范,GET 用于信息获取,而且应该是幂等的。也就是说,当使用相同的URL重复GET请求会返回预期的相同结果时,GET方法才是适用的。当对一个请求有副作用的时候(例如,提交数据注册新用户时),应该使用POST请求而不是GET。 所以浏览器会对GET请求做缓存处理。
这个我经常遇到,注册后去刷新会重新提交表单
解决办法:
二.防止jsp页面内容被缓存:
防止JSP页面缓存为了防止浏览器缓存当前访问的JSP动态页面,可以采用如下的方式进行设置:
三.防止html页面被缓存(jsp也适用)
禁止客户端缓存要在<head>中加入类似如下内容:
一 防止url被浏览器缓存
根据 HTTP 规范,GET 用于信息获取,而且应该是幂等的。也就是说,当使用相同的URL重复GET请求会返回预期的相同结果时,GET方法才是适用的。当对一个请求有副作用的时候(例如,提交数据注册新用户时),应该使用POST请求而不是GET。 所以浏览器会对GET请求做缓存处理。
这个我经常遇到,注册后去刷新会重新提交表单
解决办法:
1. GET请求URL后加随机数,让服务器认为不是相同的请求。 例 “http://www.example.com/index.php?class=aitcle&page=5&_t=” + new Date().getTime() 2. 在ajax发送请求前加上 xmlHttpRequest.setRequestHeader(“If-Modified-Since”,”0″) 3. 在ajax发送请求前加上 xmlHttpRequest.setRequestHeader(“Cache-Control”,”no-cache”); 4. 服务端响应请求时加 header(“Cache-Control: no-cache, must-revalidate”); (PHP) 5. 使用POST代替GET,浏览器不会对POST做缓存
二.防止jsp页面内容被缓存:
防止JSP页面缓存为了防止浏览器缓存当前访问的JSP动态页面,可以采用如下的方式进行设置:
<% // 将过期日期设置为一个过去时间 response.setHeader("Expires", "Sat, 6 May 1995 12:00:00 GMT"); // 设置 HTTP/1.1 no-cache 头 response.setHeader("Cache-Control", "no-store,no-cache,must-revalidate"); // 设置 IE 扩展 HTTP/1.1 no-cache headers, 用户自己添加 response.addHeader("Cache-Control", "post-check=0, pre-check=0"); // 设置标准 HTTP/1.0 no-cache header. response.setHeader("Pragma", "no-cache"); %>
三.防止html页面被缓存(jsp也适用)
禁止客户端缓存要在<head>中加入类似如下内容:
<META HTTP-EQUIV="pragma" CONTENT="no-cache"> <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate"> <META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT"> 或 <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0">
相关文章推荐
- 浏览器缓存url请求
- 浏览器专题之缓存url请求
- 浏览器缓存url请求
- 网站建设中的Ajax请求与浏览器缓存
- Js 代码中,ajax请求地址后加随机数防止浏览器缓存的原因
- 网站建设中的Ajax请求与浏览器缓存
- jquery或者普通url清除浏览器缓存的方法
- aspnet 怎么获取浏览器等客户端请求的url地址?
- HTTP请求中浏览器的缓存机制
- 引用静态资源的url添加版本号,解决版本发布后的浏览器缓存有关问题
- 网站建设中的Ajax请求与浏览器缓存
- java HttpURLConnection 模拟发送浏览器请求
- JSP入门以及浏览器发出URL请求后发生的一系列动作浅析
- HTTP请求中浏览器缓存
- 获取浏览器url地址请求参数--requestParam.js
- 网站建设中的Ajax请求与浏览器缓存
- HTTP请求中浏览器的缓存机制
- TX电话面试:关于浏览器的缓存,请求机制
- Flex URLRequest 请求缓存问题和Post请求方式设置
- 如何让php对页面的缓存进行控制 php处理请求的浏览器缓存处理