webserver缓存策略设置-Apache

Apache缓存策略设置

Apache的过期策略可以通过apache的mod_expires和mod_headers两个模块设置:

1)模块mod_expires设置:

允许通过配置文件控制HTTP的"Expires"和"Cache-Control"头内容

mod_expires 模块的主要作用是自动生成页面头部信息中的 Expires 标签和 Cache-Control 标签,从而降低客户端的访问频率和次数,达到减少不必要流量和增加访问速度的目的

mod_expires 是 apache 众多模块中配置比较简单的一个,它一共只有三条指令

ExpiresActive 指令:打开或关闭产生”Expires:”和”Cache-Control:”头的功能。

ExpiresByType 指令:指定MIME类型的文档(例如:text/html)的过期时间。
ExpiresDefault 指令:默认所有文档的过期时间。

过期时间的写法

“access plus 1 month”
“access plus 4 weeks”
“now plus 30 days”
“modification plus 5 hours 3 minutes”
A2592000
M604800

access、now及A 三种写法的意义相同,指过期时间从访问时开始计算。
modification及M 的意义相同,指过期时间是以被访问文件的最后修改时间开始计算。
所以,后一种写法只对静态文件起作用,而由脚本生成的动态页面不受它的作用

配置实例:

<IfModule mod_expires.c>

    ExpiresActive On(开启mod_expires功能)

    ExpiresDefault "access plus 6 months"(默认的过期时间是6个月)

    ExpiresByType image/* "access plus 10 years"(图片的文件类型缓存时间为10年)

    ExpiresByType text/* "access plus 10 years"(文本类型缓存时间为10年)

    ExpiresByType application/* "access plus 30 minutes"(application文件类型缓存30分钟)

</IfModule>

验证:image/jpeg 缓存时间为315360000s(10年)

 

如果将image/jpeg设置为不缓存(将max-age设置为0s):

#   ExpiresByType image/* "access plus 10 years"

ExpiresByType image/*  A0

2)模块mod_headers设置:

   # YEAR(flv,gif,ico文件类型的缓存时间为1年)
<FilesMatch “\.(flv|gif|ico)$”>
Header set Cache-Control “max-age=2592000″
</FilesMatch>
# WEEK(pdf.swf,js,css缓存时间为一周)
<FilesMatch “\.(pdf|swf|js|css)$”>
Header set Cache-Control “max-age=604800″
</FilesMatch>
# NEVER CACHE(jsp.swf,ico文件类型不缓存)
<FilesMatch “\.(jsp|php|asp)$”>
Header set Expires “Thu, 01 Dec 2003 16:00:00 GMT”
Header set Cache-Control “no-store, no-cache, must-revalidate”
Header set Pragma “no-cache”
</FilesMatch>

转载于:https://my.oschina.net/maczhao/blog/369819

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值