`

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临时文件夹中查看临时文件的属性看到的。
1
0
分享到:
评论

相关推荐

    http头部cache-control字段解析

    HTTP头部的`Cache-Control`字段是HTTP协议中用于控制缓存行为的重要机制,它为客户端和服务器之间的数据传输提供了更多的灵活性和效率。本文将深入解析`Cache-Control`字段的含义、作用及其各种指令,帮助你更好地...

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

    `Cache-Control`字段可以接受多种指令,以控制网页的缓存策略。在本文中,我们将深入探讨`Cache-Control: private`以及其他常见的值,以及它们对不同浏览场景的影响。 1. **Cache-Control: private** `Cache-...

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

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

    http cache-control详解

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

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

    本篇我们将深入探讨如何使用Go来实现一个缓存控制中间件,特别是关于添加`ETag`头(基于内容的MD5哈希)和`Cache-Control`头。 `ETag`(Entity Tag)是HTTP响应头中的一个字段,用于标识资源的特定版本。它通常是...

    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 ...

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

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

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

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

    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 用法 ...

    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-...

    SERVLET 上传文件原理,Cache-Contro,java编码,jbpm原理

    `Cache-Control`是HTTP头中的一个字段,用于控制缓存行为。它允许服务器指示浏览器或其他代理如何缓存响应。常见的值有`no-cache`、`max-age`、`must-revalidate`等。例如,`Cache-Control: no-cache`意味着每次请求...

    jersey-header-cache-control

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

    后端缓存技术:Cache-Control.zip

    后端技术系列教程,包括: API开发全套教程 后端安全全套教程 后端微服务架构全套教程 后端性能优化全套教程 后端框架全套教程 后端缓存技术全套教程 后端编程语言全套教程 数据库技术全套教程

    强制缓存和协商缓存资源

    Cache-Control 是 HTTP/1.1 中的一个头部字段,用于控制浏览器的缓存行为,Cache-Control 字段可以设置多个值,包括 max-age、no-cache、no-store、private、public 等。 max-age 是 Cache-Control 字段中最常用的...

    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 ) {...

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

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

    infrared-remote-浏览器缓存demo

    HTTP缓存依赖于HTTP响应头中的Cache-Control和Expires字段来指示浏览器何时可以使用缓存资源,何时需要重新验证资源的有效性。例如,"Cache-Control: max-age=3600"表示资源在1小时内有效,无需重新请求。而Service ...

    Flask-CacheControl

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

Global site tag (gtag.js) - Google Analytics