`
wataxi
  • 浏览: 209148 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

(转)Cache-control详解

    博客分类:
  • http
阅读更多
“Cache-control”常见的取值有private、no-cache、max-age、must-revalidate等
网页的缓存是由HTTP消息头中的“Cache-control”来控制的,常见的取值有private、no-cache、max-age、must-revalidate等,默认为private。其作用根据不同的重新浏览方式分为以下几种情况:

(1) 打开新窗口
如果指定cache-control的值为private、no-cache、must-revalidate,那么打开新窗口访问时都会重新访问服务器。而如果指定了max-age值,那么在此值内的时间里就不会重新访问服务器,例如:
Cache-control: max-age=5
表示当访问此网页后的5秒内再次访问不会去服务器

(2) 在地址栏回车
如果值为private或must-revalidate(和网上说的不一样),则只有第一次访问时会访问服务器,以后就不再访问。如果值为no-cache,那么每次都会访问。如果值为max-age,则在过期之前不会重复访问。

(3) 按后退按扭
如果值为private、must-revalidate、max-age,则不会重访问,而如果为no-cache,则每次都重复访问

(4) 按刷新按扭
无论为何值,都会重复访问
当指定Cache-control值为“no-cache”时,访问此页面不会在Internet临时文章夹留下页面备份。
另外,通过指定“Expires”值也会影响到缓存。例如,指定Expires值为一个早已过去的时间,那么访问此网时若重复在地址栏按回车,那么每次都会重复访问:
Expires: Fri, 31 Dec 1999 16:00:00 GMT

在ASP中,可以通过Response对象的Expires、ExpiresAbsolute属性控制Expires值;通过Response对象的CacheControl属性控制Cache-control的值,例如:
Response.ExpiresAbsolute = #2000-1-1# ‘ 指定绝对的过期时间,这个时间用的是服务器当地时间,会被自动转换为GMT时间
Response.Expires = 20 ‘ 指定相对的过期时间,以分钟为单位,表示从当前时间起过多少分钟过期。
Response.CacheControl = “no-cache”
Expires值是可以通过在Internet临时文件夹中查看临时文件的属性看到的

.
分享到:
评论

相关推荐

    http cache-control详解

    Response.CacheControl = "no-cache" ' 禁止缓存 ``` 以上代码示例展示了如何使用ASP来调整HTTP响应的缓存控制设置。 综上所述,`Cache-Control`和`Expires`字段是HTTP缓存策略的重要组成部分,它们决定了浏览器...

    http头部cache-control字段解析

    二、`Cache-Control`指令详解 1. `max-age` `max-age`指令定义了响应可被缓存的时间,单位为秒。例如,`Cache-Control: max-age=3600`表示响应在接下来的3600秒内可以被缓存并重用,无需向源服务器再次验证。 2. `s...

    Cache-control使用Cache-control:private学习笔记

    **HTTP缓存控制:Cache-Control详解** 在HTTP协议中,Cache-Control头字段是用于管理缓存行为的关键机制,它允许服务器指示客户端如何缓存响应内容。`Cache-Control`字段可以接受多种指令,以控制网页的缓存策略。...

    Nginx配置跨域请求Access-Control-Allow-Origin * 详解

    3. `Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization'`:设置允许的请求头,防止因特定请求头未被服务器...

    web浏览器-缓存详解

    - Cache-Control:用于设置缓存策略,如max-age指示资源的有效期,no-cache则告诉浏览器必须先验证资源是否更新。 - Expires:设置资源过期时间,如果本地时间小于这个时间,则使用缓存。 - ETag:资源的唯一标识...

    response.setHeader问题

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

    为何要小心Nginx的add_header指令详解

    前言 大家都知道,nginx配置文件通过使用add_header指令来设置response header。 昨天无聊用curl查看一个站点的...cache-control: max-age=3, must-revalidate last-modified: Thu, 07 Feb 2019 03:54:54 GMT X-Cach

    nginx缓存不起作用问题解决方法

    header主要有如下: 代码如下:Cache-control:no-cache、no-store如果出现这两值,nginx缓存服务器是绝对不会缓存的 代码如下:Expires:1980-01-01如果出现日期比当前时间早,也不会缓存。 2. 解决不缓存方案 2.1 ...

    Oracle 11g体系-全面详解

    ### Oracle 11g体系-全面详解 #### 第一部分 体系架构 ##### 第一章:实例与数据库 **1.1 Oracle基础架构及应用环境** Oracle 11g的架构设计旨在提供高效、稳定和安全的数据管理解决方案。该版本不仅在技术上...

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

    - `<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">`:等同于设置了`Cache-Control`响应头。 - `<META HTTP-EQUIV="Expires" CONTENT="0">`:与设置了`Expires`响应头相同。 ### 实现原理及注意事项 1. **...

    HTTP协议的头信息详解.pdf

    Cache-Control 头域可以设置缓存指令,例如 no-cache、no-store、max-age、max-stale、min-fresh、only-if-cached 等。 * Date 头域:表示消息发送的时间,时间的描述格式由 rfc822 定义。 * Pragma 头域:用来包含...

    httpclient cache 4.2

    《HttpClient Cache 4.2:Java HTTP 客户端缓存技术详解》 HttpClient是Apache基金会的一个开源项目,提供了一套强大的HTTP客户端编程接口。在Java应用程序中,HttpClient被广泛用于执行HTTP请求,如发送GET、POST...

    JSP清除缓存.txt

    ### JSP清除缓存知识点详解 #### 一、引言 在Web开发中,缓存是一种常见的技术,用于提高页面加载速度和减少服务器负载。然而,在某些情况下,我们需要强制浏览器或者代理服务器清除缓存,以确保用户看到的是最新...

    如何在nginx中配置缓存静态文件

    这篇教程说明你应该怎样配置 nginx、设置 HTTP 头部过期时间,用 Cache-Control 中的 max-age 标记为静态文件(比如图片、 CSS 和 Javascript 文件)设置一个时间,这样用户的浏览器就会缓存这些文件。这样能节省...

    Ajax跨域详解与代码

    add_header Access-Control-Allow-Headers 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type'; if ($request_method = 'OPTIONS') { add_header '...

    浏览器HTTP缓存机制

    - **请求报文**: 包含`Cache-Control: no-cache` 或 `Pragma: no-cache` 字段,以及可能的`Last-Modified` 或 `ETag` 值。 - **响应报文**: 包含200 OK状态码和相应的缓存控制头信息。 #### 七、总结 HTTP缓存机制...

    Http基础.doc

    在这个请求中,`GET`方法用于获取指定的资源(`somedata.exe`),`Host`指明了请求的服务器,`Accept`表示接受任何类型的数据,`Pragma: no-cache`和`Cache-Control: no-cache`共同作用于禁用缓存,`Referer`表明了...

    HTTP协议的Header头信息详解.txt

    Cache-Control: no-cache Referer: http://download.microtool.de/ User-Agent: Mozilla/4.04 [en] (Win95; I; Nav) Range: bytes=554554- ``` 这段请求包含了多个Header头信息,如`Host`、`Accept`、`Cache-...

    HTTP协议头详解

    通用头域包含 Cache-Control、Connection、Date、Pragma、Transfer-Encoding、Upgrade、Via 等。对通用头域的扩展要求通讯双方都支持此扩展,如果存在不支持的通用头域,一般将会作为实体头域处理。 Cache-Control ...

    meta标签中的

    #### 三、Cache-Control属性详解 `Cache-Control`属性是HTTP头部字段之一,用于控制客户端和中间代理如何存储、检索以及重新验证响应。以下是一些主要的`Cache-Control`指令: - **public**:指示响应可以被任何...

Global site tag (gtag.js) - Google Analytics