首页 / 缓存 / 怎样清除浏览器缓存?
怎样清除浏览器缓存?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了怎样清除浏览器缓存?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1732字,纯文字阅读大概需要3分钟。
内容图文
? web开发中常常遇到一些非常奇怪的问题。比如。发现了问题,改了脚本,结果公布后,问题依旧存在,但在server上一看,公布的脚本确实改了!!
最后才发现,是浏览器缓存在作怪!
!
如今讨论几种清除浏览器缓存的方法。
一种原理是HTTP Header 參数Cache-Control来清空缓存。还有一种是利用URL上加入查询字符串来欺骗浏览器强制从服务端读取数据,避免缓存。
1利用HTTP协议清空
Cache-Control
?的參数包含:
-
max-age=
[单位:秒 seconds] — 设置缓存最大的有效时间. 相似于?Expires
, 可是这个參数定义的是时间大小(比方:60)而不是确定的时间点.单位是[秒 seconds]. -
s-maxage=
[单位:秒 seconds] — 相似于?max-age
, 可是它仅仅用于公享缓存 (e.g., proxy) . -
public
?— 响应会被缓存,而且在多用户间共享。正常情况, 假设要求?HTTP 认证,响应会自己主动设置为 private. -
private
?— 响应仅仅能够作为私有的缓存(e.g., 在一个浏览器中),不能再用户间共享。 -
no-cache
?— 响应不会被缓存,而是实时向server端请求资源。这一点非常实用,这对保证HTTP 认证能够严格地禁止缓存以保证安全性非常实用(这是指页面与public结合使用的情况下).既没有牺牲缓存的效率。又能保证安全。 -
no-store
?— 在不论什么条件下,响应都不会被缓存,而且不会被写入到client的磁盘里,这也是基于安全考虑的某些敏感的响应才会使用这个。 -
must-revalidate
?— 响应在特定条件下会被重用。以满足接下来的请求。可是它必须到server端去验证它是不是仍然是最新的。 -
proxy-revalidate
?— 相似于?must-revalidate
,但不适用于代理缓存.
在网页head中加入
<meta http-equiv="pragma" content="no-cache" /> <meta http-equiv="content-type" content="no-cache, must-revalidate" /> <meta http-equiv="expires" content="Wed, 26 Feb 1997 08:21:57 GMT"/>使用asp.net输出的能够使用
Response.Buffer = True ; Response.ExpiresAbsolute = Now() - 1 ; Response.Expires = 0 ; Response.CacheControl = "no-cache" ; Response.AddHeader "Pragma", "No-Cache" ;
2加入查询字符串情况
? 一般有两种方式。加入随机数,加入时间错
比如加入随机数
document.write("<script src=‘test.js?rnd="+Math.random()+"‘></s"+"cript>")加入时间戳
url: "../SurveyGetRecordData.aspx?date="+(new Date().getMilliseconds())
怎样解决??
事实上是非常easy,还是使用查询字符串,加入了一个相似版本的查询字符串。假设改动了,就把这參数改变。否则就不改,这样,就能够在须要时缓存,不须要时不缓存了。
比如:
<script type="text/javascript" src="../jquery-easyui/jquery-1.8.0.min.js?ver=1711"></script>
内容总结
以上是互联网集市为您收集整理的怎样清除浏览器缓存?全部内容,希望文章能够帮你解决怎样清除浏览器缓存?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。