2014-10-24
expires属性指定了coolie的生存期,默认情况下coolie是暂时存在的,他们存储的值只在浏览器会话期间存在,当用户推出浏览器后这些值也会丢失,如果想让cookie存在一段时间,就要为expires属性设置为未来的一个过期日期。现在已经被max-age属性所取代,max-age用秒来设置cookie的生存期。

Squid和Apache中的max-age与Expires的分别
max-age是HTTP/1.1中,他是指我们的web中的文件被用户访问(请求)后的存活时间,是个相对的值,相对Request_time(请求时间).
例如:A.html 用户请求时间是18:00,max-age设置的是600的话,相当18:00+600秒过期,也就是相对18:00的时间后面600秒后过期.默认的max-age是由Expires算出来的。
Expires是HTTP/1.0中的,它比max-age要麻烦点.Expires指定的时间分下面二种,这个主要考虑到apache中设置是A还是M。
1、相对文件的最后访问时间(Atime)
当Apache使用A时间来做Expires时.这样设置时.他就和max-age的值相等,因为max-age是相对文件的请求时间(Atime).
例如:ExpiresByType text/html A600
由上面我们得知,Apache设置Atime时,过期为600秒时.
Expires=18:00+600=18:10
max-age=18:00+600=18:10
得出:Expires=max-age
2、绝对修改时间(MTime)
这又分二种情况,我们来拿A.htm来讲
假设文件的建立时间为18:00。
当用户Request请求为18:00时,过期为600秒
Expires=18:00+600=18:10
max-age=18:00+600=18:10
得出:Expires等于max-age
当用户Request请求为18:20时,过期为600秒
Expires=18:00+600=18:10(因为设置成Mtime时,时间由文件建立时间来决定)
max-age=18:20+600=18:30
得出:Expires不等于max-age
另外要注意,象上面这种清况时,max-age优化,所以过期时间为18:30。
在squid,如果没有指明expires和max-age这二个的截止时间,那它就会使用发式截止时间,如参考 Last-Modified。
其实上面的max-age=18:20+600=18:30,这样算max-age不对,真实环境要这样算,max-age过期为http头中的Age=600过期。
注:Age域值是缓存服务器估计从响应产生或被原始服务器重新证实以来的总时间.age的值是缓存服务器算出来的,原始服务器是没有的。
apache 设置expires和max-age缓存
对于同一个操作对象,ExpiresByType比ExpiresDefault优先级高.当expires和max-age同时存在时,max-age的优先级会高于expires.
当你不知道某个文件的MIME类型时,你可以通过浏览器去看httpwatch去看MIME类型.
如果要对某个目录里的某个文件设置Expires头,可以用<filesmatch "正则"></filematch>来匹配.
设置缓存也可以通过mod_headers模块修改cache-control来实现.
header set cache-control "max-age="3600".
mod_expires 实例:
<Directory /opt>
ExpiresActive On
ExpiresDefault "accesss plus 3600 seconds" 如果是1秒,后面也是seconds
ExpiresByType application/octet-stream "accesss plus 1 months" 这是对特殊文件类型bin缓存1个月
<FilesMatch ^data.swf$> 针对opt目录下data.swf设置Expire值
ExpiresActive On
ExpiresDefault "accesss plus 60 seconds"
</FilesMatch>
</Directory>
mod_headers实例
<Directory /opt>
header set cache-control "max-age=3600"
<FilesMatch ^data.swf$>
header set cache-control "max-age=60"
</FilesMatch>
</Directory>
在深入的待研究,目前对缓存的一些概念还不是太深入,如果有更深入更具体的方法在和大家分享。
文章转载自站帮网 目的仅为传播互联网知识!
极限着陆官方正版(Extreme Landings)下载v3.8.6 安卓最新版本
其它手游 499.29MB
下载
战争机器坦克大战游戏(War Machines)下载v8.60.1 安卓版
其它手游 168.93MB
下载
这城有良田游戏最新版下载v251.000 安卓手机版
其它手游 1.28G
下载
勇者阿信手机版下载v4.0 安卓版
其它手游 85.21MB
下载
彩虹朋友躲猫猫游戏下载v1.0.30 安卓版
其它手游 121.72MB
下载
东海道汉化破解版下载v1.20.5 安卓中文版
其它手游 139.35MB
下载
东海道汉化版下载v1.20.5 安卓中文版
其它手游 139.35MB
下载
二战狙击手召唤中文版下载v3.7.0 安卓版
其它手游 124.92M
下载人vs导弹游戏下载v12 安卓版
下载
惊奇坦克游戏下载v1.444 安卓版
下载
超级登山坦克游戏下载v1.2.9 安卓版
下载
神枪小白人无限金币破解版下载v117 安卓版
下载
神枪小白人最新版下载v117 安卓版
下载
单枪匹马游戏下载v117 安卓手机版
下载
单枪匹马无敌版下载v117 安卓无限金币版
下载
爆他头sift heads下载v1.2.104 安卓版
下载