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

网页缓存控制参数Cache-control

阅读更多
网页的缓存是由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临时文件夹中查看临时文件的属性看到的,如:

alidate等 - 坦克 - Mini8tank的博客" height=412 alt=http://tk.files.storage.msn.com/x1pUr2osLO3XWjeyHIsPau7c9tkbQN3AtaJuX0-oOR4QSJ4Al_2jz-ijnZo46T95o7tve8IwsWrTRMTAv_d7hXV61CXJUUz0Ix75MDZSszcxddhXU2eMySWmZcLKEyZQMI5 src="cid:image001.gif@01CA0601.67C973B0" width=367>
分享到:
评论

相关推荐

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

    网页缓存由 HTTP消息头中的Cache-control控制,常见取值有private、no-cache、max-age、must- revalidate等,默认为private

    cache-header-control:控制响应缓存头

    缓存头控制 控制响应缓存头 安装 npm install cache-header-control --save 用法 var express = require ( 'express' ) ; var setCacheHeader = require ( 'cache-header-control' ) ; var app = express ( ) ; ...

    cache-control:可以在上次更新时间方面覆盖的缓存控制

    安装composer require nomenjanahary/cache-control配置storage_cache_control : exclude_status : - " 5xx " - " 4xx " default_cache : maxAge : 3600 public : true # merge, replace override_strategy : merge ...

    cache-control-midd:ExpressConnect 中间件设置响应头缓存选项

    缓存控制中间Express/Connect 中间件设置响应头缓存选项安装 npm install cache-control-midd --save用法 var express = require ( 'express' ) ;var cacheControl = require ( 'cache-control-midd' ) ;var app = ...

    nginx-cache-control:没有缓存清除模块的 Nginx 缓存控制插件

    nginx-缓存控制没有缓存清除模块的 Nginx 缓存控制插件部分代码是基于其他 Nginx Cache Plugins 的代码,但这是设计为简单、轻量级的实现== 具体.... == Mark Jaquith 提出了使用强制动态页面加载的标头的基本设计,...

    cache-control-spider:搜寻网站以获取Cache-Control标头

    缓存控制蜘蛛 搜寻网站以获取Cache-Control标头。 从HTML和CSS文件中提取URL 报告按Cache-Control标头的不同值分组的URL 安装 $ git clone git@github.com:jameslnewell/cache-control-spider.git $ npm i 用法 ...

    Go-Go的缓存控制中间件添加ETag头(内容的md5)和Cache-Control头

    Go的缓存控制中间件添加ETag头(内容的md5)和Cache-Control头

    jersey-header-cache-control

    球衣缓存控制 与 JAX-RS Web 服务一起使用的注释,以向响应添加标头“Cache-Control”。 该项目应该被视为只是 JAX-RS 环境中注释功能的骨架。 用法 使用资源配置: 在package.name 中包含 CacheFilterFactory....

    koa-cache-router:koa缓存页面中间件

    koa-cache-router 用于koa的路由器缓存中间件。 对于缓存某些页面(例如/home很有用。安装npm i koa-cache-router --save用法var router = new(require('koa-router'))();var CacheMiddleware = require('koa-cache-...

    cachecontrol:Golang HTTP缓存控制解析器和解释

    它通过解析Cache-Control和其他标头,提供有关请求和响应的信息来做到这一点-但是cachecontrol并没有实现实际的缓存后端,只是实现了控制平面来决定是否可以响应特定的响应。用法cachecontrol.CachableResponse返回...

    connect-cache-control2:连接中间件以轻松处理缓存控制

    const withCacheControl = require ( 'connect-cache-control2' ) . withCacheControl ; app . get ( '/some-path' , withCacheControl ( { maxAge : '2 hours' , private : true } ) , function ( req , res ) {...

    Flask-CacheControl

    Flask-CacheControl 描述: 一个轻量级的库,可以方便地在响应上设置Cache-Control标头。 使用cache_for,cache或dont_cache装饰器装饰视图函数。 利用Flask response.cache_control。 该扩展本身不提供任何缓存。...

    s3-bucket-cache-control:接收一个充满内容的S3存储桶,并将其所有对象升级为所有具有新的缓存控制标头的对象

    S3存储桶缓存控制 一个简单的nodeJS脚本,使用“ aws-sdk” NPM模块。 我之所以建立它,是因为在S3上我有一个装满图像的巨大存储桶,并且需要向所有这些图像添加缓存控制标头。 AWS S3(目前)不支持在存储桶级别...

    JSP页面缓存cache技术--浏览器缓存介绍及实现方法

    缓存的思想可以应用在软件分层的各个层面。它是一种内部机制,对外界而言,是不可...另外Browser也有缓存(如IE)这个大家也都知道(实现在 web server 上的缓存机制)越上层的缓存效果越好,越底层的缓存影响越深远

    2018最新BAT python面试题.docx

    Cache-Control与Expires的作用一致,都是指明当前资源的有效期,控制浏览器是否直接从浏览器缓存取数据还是重新发请求到服务器取数据。只不过Cache-Control的选择更多,设置更细致,如果同时设置的话,其优先级高于...

    request的使用.txt

    在请求消息或响应消息中设置Cache-Control并不会修改另一个消息处理过程中的缓存处理过程。请求时的缓存指令包括no-cache、no-store、max-age、max-stale、min-fresh、only-if-cached,响应消息中的指令包括public、...

    http-cache-notes

    缓存控制 缓存行为的“默认”标头。 结构: Cache-Control: 这个缓存头的值是,缓存响应指令-分隔列表。 每个伪指令都是小写的。 以下是最常用的指令列表。 有关更多信息,请参阅RFC 2616规范。 公共/私人 此...

    IIS中User-mode caching引起的Cache-Control不为public问题的解决方法

    在IIS的Output caching中如果启用了User-mode caching将引起Cache-Control为no-cache,从而造成页面不能被浏览器或代理服务器缓存,下面看解决方法

    浏览器缓存机制介绍与缓存策略剖析.pptx

    强缓存的缓存规则是由服务器端的 HTTP 响应报文的 HTTP 头中控制的,主要有 Expires 和 Cache-Control 两个字段,其中 Cache-Control 优先级比 Expires 高。Cache-Control 字段可以控制资源的有效期,通过 max-age ...

Global site tag (gtag.js) - Google Analytics