`
陈修恒
  • 浏览: 205677 次
  • 性别: 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问题

    * 使用 Cache-Control 报头,例如:response.setHeader("Cache-Control", "no-cache") * 使用 Pragma 报头,例如:response.setHeader("Pragma", "no-cache") * 使用 Expires 报头,例如:response.setDateHeader(...

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

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

    response.setHeader各种用法详解

    Response.setHeader("Cache-Control", "no-cache");这种用法可以使浏览器不缓存当前页面,这在某些情况下非常有用。 设置过期的时间期限 Response.setDateHeader("Expires", System.currentTimeMillis()+自己设置...

    request的使用.txt

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

    header中Content-Disposition的作用与使用方法

    response.setHeader("Cache-Control", "No-cache"); response.setDateHeader("Expires", 0); 在某些情况下,这会使得在一些浏览器(如IE)上无法弹出下载对话框,导致下载功能失效。这是因为在禁止缓存的条件下,...

    随机验证码源代码详解

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

    页面的缓存与不缓存设置及html页面中meta的作用

    response.setHeader("Cache-Control", "public"); ``` 另一方面,HTML页面中的`meta`标签也可以用来影响缓存策略。例如,`meta`标签的`http-equiv`属性可以设置`Pragma`和`Cache-Control`的等效值: ```html ...

    如何防止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的理解和应用 ...

    jsp去除浏览器缓存

    response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // IE兼容性处理 response.setHeader("Pragma", "no-cache"); %> ``` 这段代码的作用是: - `response.setDateHeader("Expires...

    如何防止IE缓存jsp文件.doc

    response.setHeader("Cache-Control", "no-cache"); response.setDateHeader("Expires", 0); %> ``` 这段代码的作用是: - `response.setHeader("Pragma", "No-cache")`:告诉浏览器不要缓存此页面。 - `...

    Jetty缓存锁定问题解决(javascript,css锁定问题)

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

    JSP清除缓存.txt

    response.setHeader("Cache-Control", "no-cache"); ``` 此代码段告诉客户端和中间代理服务器不要缓存该响应。 ##### 2. `Pragma` 头部 `Pragma` 头部主要用于向不支持HTTP/1.1协议的老式浏览器提供兼容性。其`no...

    消除浏览器的301重定向缓存

    具体来说,可以使用response.setHeader("Cache-Control", "no-cache");来禁止浏览器缓存重定向的结果。 示例 新建一个web工程,命名为redirectTest,点击Finish,新建一个Servlet,如下图点击Next,输入如下图点击...

    response设置的实例源码

    response.setHeader("Cache-Control", "no-cache"); // 添加缓存控制头 ``` 四、设置响应编码与字符集 通过`setCharacterEncoding(String charset)`方法,我们可以指定响应体的数据编码,以确保客户端正确解码: ``...

    struts2带进度条文件上传

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

    response

    response.setHeader("Cache-Control", "no-cache"); response.setHeader("Pragma", "no-cache"); response.setDateHeader("Expires", -1); ``` 10. **结束响应** 当所有数据都写入响应后,调用`response.flush...

    JSP常见问题

    把如下脚本加入到JSP文件的开始即可:<%response.setHeader("Cache-Control","no-store"); //HTTP 1.1response.setHeader("Pragma","no-cache"); //HTTP 1.0response.setDateHeader ("Expires", 0); //prevents ...

Global site tag (gtag.js) - Google Analytics