Expires是RFC 2616(HTTP/1.0)协议中和网页缓存相关字段。用来控制缓存的失效日期,要注意的是,HTTP/1.0有一个功能比较弱的缓存控制机制:Pragma,使用HTTP/1.0的缓存将忽略Expires和Cache-Control头。
1简单解释编辑
expires通常被理解为失效日期及相关意义,
DBA通常把expires作为表示过期数量或者过期时间的字段。
2Expires详解编辑
Expires字段声明了一个网页或URL地址不再被
浏览器缓存的时间,一旦超过了这个时间,浏览器都应该联系原始服务器。RFC告诉我们:“由于推断的失效时间也许会降低语义透明度,应该被谨慎使用,同时我们鼓励原始服务器尽可能提供确切的失效时间。”
对于一般的纯静态页面,如html、gif、jpg、css、js,默认安装的Apache服务器,不会在响应头添加这个字段。Firefox浏览器接受到响应后,如果发现没有Expires字段,浏览器根据文件的类型和“Last-Modified”字段来推断出一个合适的失效时间,并存储在
客户端。推测出的时间一般是接受到响应时间后的三天左右。
Apache的expires_module模块可以在Http响应头部自动加上Expires字段。在Apache的httpd.conf文件中进行如下配置: #启用expires_module模块 LoadModule expires_module modules/mod_expires so # 启用有效期控制 ExpiresActive On # GIF有效期为1个月 ExpiresByType image/gif A2592000 # HTML文档的有效期是最后修改时刻后的一星期 ExpiresByType
text/html M604800 #以下的含义类似 ExpiresByType text/css “now plus 2 month” ExpiresByType text/js “now plus 2 day” ExpiresByType image/jpeg “access plus 2 month” ExpiresByType image/bmp “access plus 2 month” ExpiresByType image/x-icon “access plus 2 month”
ExpiresByType image/png “access plus 2 month” 对于动态页面,如果在页面内部没有通过函数强制加上Expires,例如header(”Expires: ” . gmdate(”D, d M Y H:i:s”) . ” GMT”),Apache服务器会把Wed, 11 Jan 1984 05:00:00 GMT作为Expires字段内容,返回给浏览器。即认为
动态页面总是失效的。而浏览器仍然会保存已经失效的
动态页面。
可以发现Firefox浏览器总是缓存所有页面,不管失效、不失效还是没有声明失效时间。即使缓存中声明了一个网页的实效日期是1970-01-01 08:00:00,浏览器仍然会发送该文件在缓存中的Last-Modified和ETag字段。 如果在服务器端验证通过,返回304状态,
浏览器就还会使用此
缓存。
分享到:
相关推荐
Expire旨在使使用缓存尽可能方便。 有三种创建缓存的方法,分别是MemoryCache,RedisCache或MemcachedCache。如何使用?安装跑步: pip install expirepip install git+https://github.com/howie6879/expire.git...
$_Stream=——————– BEGIN ——————– PROC SETINIT RELEASE=’9.2′; SITEINFO NAME=’PEKING UNIVERSITY GUANGHUA MANAGEMENT SCHOOL’ SITE=11200174 OSNAME=’W32_WKS’ RECREATE WARN=32 GRACE=0 ...
Expire Template_欧美扁平化网页PSD模板美工UI.zip
SAP 如何设置有效期
Expire 为key设置过期时间 Setex 为key设置value值,并且,设置过期时间 区别 Setex是一个原子操作 设置值,设置过期时间两个动作,会在同一时间完成 在Redis缓存中,非常实用 补充知识:redis之setnx、setex、...
Expire Template_企业网站PSD扁平化网页模板美工UI整站.zip
微信小程序云开发Check Authorization Fails, Date expire!的终极解决方案
session的超时时间设置 settings中 SESSION_COOKIE_AGE=60*30 30分钟。 SESSION_EXPIRE_AT_BROWSER_CLOSE False:会话cookie可以在用户浏览器中保持...——————————————————- 按手册和网上的方法在
截止日期 令牌在浏览器中过期 支持语言:English (United States)
============= imap-expire 使IMAP文件夹中的邮件过期。要求Python可选的如果您不想在配置中存储未加密的密码,也可以将其存储在密钥环实现中。一些密钥环实现(Gnome密钥环,OSX密钥链等)用法查看expire.cfg....
为用户提供一个简单的替代方法来分配一个直到:日期值,即在到期:日期之后,对于那些在到期:日期之后无法完成的任务。 通过分配一个(用户可配置的)+expire 标签,一个任务将被自动和静默(?)删除。 这对于高频...
杀毒软件直装版
用JAVA做两个给定时间的天数差
安装 npm install expire-array示例用法 // Initialize with a timeout of 10 secondsvar arr = require ( 'expire-array' ) ( 1000 * 10 )// Add elements to the array using .push()arr . push ( 1 )// Retrive ...
到期只是另一个过期插件安装上传expire到/wp-content/plugins/目录通过 WordPress 中的Plugins菜单激活插件经常问的问题截图变更日志1.1.0 添加:可排序的过期列修复:日期格式错误1.0.0 初始发行升级通知
expire-users:在WordPress中设置用户的到期日期
最近博主在看redis的时候发现了两种redis使用方式,与之前redis作为缓存不同,利用的是redis可设置key的有效时间和redis的BRPOP命令。 分布式锁 由于目前一些编程语言,如PHP等,不能在... String expire = String.va
自己做的破解包,已成功破解,证书 可以在官网自己下载https://license.elastic.co/registration,失效时间是Platinum license will expire on July 2, 2060