`
陈修恒
  • 浏览: 200700 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

response.setHeader("Cache-Control","no-cache"); 是干什么用的?目的是什么?

 
阅读更多
来源:http://www.blogjava.net/jht/archive/2008/09/27/231429.html

1. response.setHeader("Cache-Control","no-cache");

This is used to prevent the browser from caching your dynamic content generated by a JSP or Servlet.

You set this attribute in the HTTP header of the response object which would tell the browser not to cache this content. So everytime you request the page again, the browser would make a new request, instead of showing you a cached page.

2.使用服务器端控制AJAX页面缓存:
    response.setHeader( "Pragma", "no-cache" );
    response.addHeader( "Cache-Control", "must-revalidate" );
    response.addHeader( "Cache-Control", "no-cache" );
    response.addHeader( "Cache-Control", "no-store" );
    response.setDateHeader("Expires", 0);
单纯的使用 xmlhttp.setRequestHeader("Cache-Control","no-cache")无效。

3.Cache-Control头域
  Cache-Control指定请求和响应遵循的缓存机制。在请求消息或响应消息中设置Cache-Control并不会修改另一个消息处理过程中的缓存处理过程。请求时的缓存指令包括no-cache、no-store、max-age、max-stale、min-fresh、only-if-cached,响应消息中的指令包括public、private、no-cache、no-store、no-transform、must-revalidate、proxy-revalidate、max-age。各个消息中的指令含义如下:
  Public指示响应可被任何缓存区缓存。
  Private指示对于单个用户的整个或部分响应消息,不能被共享缓存处理。这允许服务器仅仅描述当用户的部分响应消息,此响应消息对于其他用户的请求无效。
  no-cache指示请求或响应消息不能缓存
  no-store用于防止重要的信息被无意的发布。在请求消息中发送将使得请求和响应消息都不使用缓存。
  max-age指示客户机可以接收生存期不大于指定时间(以秒为单位)的响应。
  min-fresh指示客户机可以接收响应时间小于当前时间加上指定时间的响应。
  max-stale指示客户机可以接收超出超时期间的响应消息。如果指定max-stale消息的值,那么客户机可以接收超出超时期指定值之内的响应消息。

Read more:
   http://www.jiehoo.com/browser-cache-problem.htm (作者: Cherami 原载: 浏览器缓存)
   再论怎么有效利用浏览器缓存之怎么避免浏览器缓存静态文件
   HTTP协议header头域- PetitPrince - 博客园
分享到:
评论

相关推荐

    文件下载response.setHeader()下载中文文件名乱码问题解决办法.pdf

    文件下载response.setHeader()下载中文文件名乱码问题解决办法 本文主要讨论了文件下载时response.setHeader()下载中文文件名乱码问题的解决办法。该问题是由于 HTTP 消息头中的 Content-Disposition 头字段不正确...

    request的使用.txt

    **response.setHeader("Cache-Control", "no-cache")** **response.setHeader( "Pragma", "no-cache" ); response.addHeader( "Cache-Control", "must-revalidate" ); response.addHeader( "Cache-Control", "no...

    随机验证码源代码详解

    response.setHeader("Cache-Control", "on-cache"); response.setDateHeader("Expires", 0); //获取流对象向客户端写入图片 ServletOutputStream sos = response.getOutputStream();………………………………...

    java 实现的数字验证

    response.setHeader("Cache-Control","no-cache"); response.setDateHeader("Expires", 0); // 将认证码存入SESSION session.setAttribute("rand",image.sRand); // 输出图象到页面 ImageIO.write(image....

    如何防止IE缓存jsp文件

    response.setHeader(Cache-Control,no-cache); response.setDateHeader(Expires, 0); %> 2, 使用HTML标记,如下面: <HEAD> <META HTTP-EQUIV=Pragma CONTENT=no-cache> <META ...

    Web应用与开发作业

    response.setHeader("Cache-Control","no-cache"); response.setHeader("Pragma","no-cache"); (3)并不是所有的浏览器都能完全支持上面的3个响应头,因此最好是同时使用上面的3个响应头。 2、Filter的理解和应用 ...

    禁止浏览器缓存当前文档内容

    response.setHeader(“Cache-Control”,”no-cache”); response.setHeader(“Pragma”,”no-cache”); 不是所有的浏览器都能完全支持上面的三个响应头,因此最好是同时使用上面的三个响应头,只要浏览器能支持...

    JSP清除页面缓存常用方法小结

    response.setHeader(Cache-Control,no-cache); response.setDateHeader(Expires, 0); response.flushBuffer();%> 在html页里: <meta http-equiv=Content-Type content=text/html; charset=gb2312> <META...

    struts2带进度条文件上传

    response.setHeader("Cache-Control", "no-cache"); PrintWriter out = response.getWriter(); System.out.println(getFileFileName() + " filename"); if (flag) {//此处必须添加,否则会...

    JSP数据库通用模块开发与系统移植

    response.setHeader("Cache-Control","no-cache"); response.setDateHeader("Expires", 0); int i_width=60; int i_height=20; BufferedImage image = new BufferedImage(i_width,i_height,BufferedImage.TYPE...

    word源码java-plugin:一个小苗,希望可以长成参天大树

    response.setHeader("Cache-Control", "no-cache"); response.setDateHeader("Expires", 0); response.setContentType("image/jpg"); /** * jgp格式验证码 宽,高,位数。 */ BaseCaptcha captcha = new SpecCaptcha...

    jsp页经典面试题java程序员面试经常考到的面试题总结.pdf

    为了防止jsp或servlet中的输出被浏览器缓存,可以在jsp文件的开始处加入以下脚本:<% response.setHeader("Cache-Control","no-store"); response.setHeader("Pragma","no-cache"); response.setDateHeader (...

    jQuery资料.rar

    AJAX缓存问题的三种解决方法(IE) 做一个项目用到Ajax,开始觉得挺好,后来发现一个问题,例如删除一项,恢复之后就不能再接着...3.服务器端代码加入response.setHeader("Cache-Control", "no-cache, must-revalidate");

    jsp课后习题第4章.docx

    4-2 当表单提交信息中包括汉字时,在获取时应该做怎样的处理? 使用request.setCharacterEncoding(“gb2312”) ...<%response.setHeader("Cache-Control","no-store"); response.setDateHeader("Expires",0);%>

    验证码下载jsp

    response.setHeader("Cache-Control","no-cache"); response.setDateHeader("Expires", 0); // 在内存中创建图象,设置图片的显示大小 int width=60, height=20; BufferedImage image = new BufferedImage(width, ...

    Jsp+Servlet+验证码[文].pdf

    response.setHeader("Cache-Control", "No-cache"); response.setHeader("Expires", "0"); int width = 80; int height = 18; BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_...

    按IE后退按钮时让JSP不读缓存

     response.setHeader(“Cache-Control”,”no-cache”); response.setDateHeader(“Expires”, 0); %> 2, 使用HTML标记,如下面: <HEAD> <META HTTP-EQUIV=”Pragma” CONTENT=”no-cache”>...

    Ajax中要注意的问题

    ajax调用的返回数据会被缓存,调用静态html ,即使把html修改了,IE依有可能然用原来的数据显示。 而firefox可以正常显示新的数据。... response.setHeader(“Cache-Control”,”no-cache”); respon

    php.ini-development

    user_ini.cache_ttl = 300 ;;;;;;;;;;;;;;;;;;;; ; Language Options ; ;;;;;;;;;;;;;;;;;;;; ; Enable the PHP scripting language engine under Apache. ; http://php.net/engine engine = On ; This directive...

    基于SpringMVC annotation 的图形验证码

    response.setHeader("Cache-Control", "No-cache"); response.setDateHeader("Expires", 0); // 指定生成的响应是图片 response.setContentType("image/jpeg"); int width = 200; int height = 60; ...

Global site tag (gtag.js) - Google Analytics