网页的缓存是由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>
分享到:
相关推荐
HTTP头部的`Cache-Control`字段是HTTP协议中用于控制缓存行为的重要机制,它为客户端和服务器之间的数据传输提供了更多的灵活性和效率。本文将深入解析`Cache-Control`字段的含义、作用及其各种指令,帮助你更好地...
`Cache-Control`字段可以接受多种指令,以控制网页的缓存策略。在本文中,我们将深入探讨`Cache-Control: private`以及其他常见的值,以及它们对不同浏览场景的影响。 1. **Cache-Control: private** `Cache-...
Response.CacheControl = "no-cache" ' 禁止缓存 ``` 以上代码示例展示了如何使用ASP来调整HTTP响应的缓存控制设置。 综上所述,`Cache-Control`和`Expires`字段是HTTP缓存策略的重要组成部分,它们决定了浏览器...
缓存头控制 控制响应缓存头 安装 npm install cache-header-control --save 用法 var express = require ( 'express' ) ; var setCacheHeader = require ( 'cache-header-control' ) ; var app = express ( ) ; ...
本篇我们将深入探讨如何使用Go来实现一个缓存控制中间件,特别是关于添加`ETag`头(基于内容的MD5哈希)和`Cache-Control`头。 `ETag`(Entity Tag)是HTTP响应头中的一个字段,用于标识资源的特定版本。它通常是...
安装composer require nomenjanahary/cache-control配置storage_cache_control : exclude_status : - " 5xx " - " 4xx " default_cache : maxAge : 3600 public : true # merge, replace override_strategy : merge ...
缓存控制中间Express/Connect 中间件设置响应头缓存选项安装 npm install cache-control-midd --save用法 var express = require ( 'express' ) ;var cacheControl = require ( 'cache-control-midd' ) ;var app = ...
nginx-缓存控制没有缓存清除模块的 Nginx 缓存控制插件部分代码是基于其他 Nginx Cache Plugins 的代码,但这是设计为简单、轻量级的实现== 具体.... == Mark Jaquith 提出了使用强制动态页面加载的标头的基本设计,...
后端技术系列教程,包括: API开发全套教程 后端安全全套教程 后端微服务架构全套教程 后端性能优化全套教程 后端框架全套教程 后端缓存技术全套教程 后端编程语言全套教程 数据库技术全套教程
缓存控制蜘蛛 搜寻网站以获取Cache-Control标头。 从HTML和CSS文件中提取URL 报告按Cache-Control标头的不同值分组的URL 安装 $ git clone git@github.com:jameslnewell/cache-control-spider.git $ npm i 用法 ...
球衣缓存控制 与 JAX-RS Web 服务一起使用的注释,以向响应添加标头“Cache-Control”。 该项目应该被视为只是 JAX-RS 环境中注释功能的骨架。 用法 使用资源配置: 在package.name 中包含 CacheFilterFactory....
`Cache-Control`是HTTP头中的一个字段,用于控制缓存行为。它允许服务器指示浏览器或其他代理如何缓存响应。常见的值有`no-cache`、`max-age`、`must-revalidate`等。例如,`Cache-Control: no-cache`意味着每次请求...
Cache-Control 是 HTTP/1.1 中的一个头部字段,用于控制浏览器的缓存行为,Cache-Control 字段可以设置多个值,包括 max-age、no-cache、no-store、private、public 等。 max-age 是 Cache-Control 字段中最常用的...
koa-cache-router 用于koa的路由器缓存中间件。 对于缓存某些页面(例如/home很有用。安装npm i koa-cache-router --save用法var router = new(require('koa-router'))();var CacheMiddleware = require('koa-cache-...
在网页开发中,缓存是一种优化加载速度和减少网络带宽消耗的重要技术。它涉及到浏览器、中间缓存服务器以及Web服务器之间的交互。本篇将详细阐述如何设置页面的缓存与不缓存,以及HTML页面中`meta`标签的作用。 ...
它通过解析Cache-Control和其他标头,提供有关请求和响应的信息来做到这一点-但是cachecontrol并没有实现实际的缓存后端,只是实现了控制平面来决定是否可以响应特定的响应。用法cachecontrol.CachableResponse返回...
Cache-Control 是 HTTP 1.1 中引入的新策略,用于控制浏览器缓存的行为。Cache-Control 的优点是可以实时更新缓存,且可以根据不同的需求设置不同的缓存策略。Cache-Control 的值可以是 public、private、no-cache、...
header主要有如下: 代码如下:Cache-control:no-cache、no-store如果出现这两值,nginx缓存服务器是绝对不会缓存的 代码如下:Expires:1980-01-01如果出现日期比当前时间早,也不会缓存。 2. 解决不缓存方案 2.1 ...
Cache-Control 报头用于指定缓存指令,缓存指令是单向的(响应中出现的缓存指令在请求中未必会出现),且是独立的(一个消息的缓存指令不会影响另一个消息处理的缓存机制)。Cache-Control 报头可以设置为多种值,...