免责声明: 本文档包含第三方产品信息,该信息仅供参考。
背景说明
本文主要介绍Apache服务器的缓存策略配置方法,如果源站使用的是Apache,可参考此文进行设置。
详细信息
Apache设置缓存策略的具体方法有两种:使用mod_headers模块或mod_expires模块。
1. mod_headers模块配置
使用mod_headers配置源站响应缓存策略可按如下步骤:
1)确保apache安装了mod_headers模块。
2)在httpd.conf 中设置LoadModule headers_module modules/mod_headers.so。
3)使用header set配置cache-control。
示例如下:
策略 | 示例 |
---|---|
设置一个月 | Header set Cache-Control "max-age=2592000″ |
设置一周 | Header set Cache-Control "max-age=604800″ |
设置不缓存 | Header set Expires "Mon, 01 Jan 2000 10:00:00 GMT" Header set Cache-Control "no-cache" Header set Pragma "no-cache" |
2. mod_expires模块配置
使用mod_expires模块配置源站响应缓存策略:
主要有如下三条指令:
- ExpiresActive指令:打开或关闭产生Expires和Cache-Control标签的功能。
- ExpiresByType指令:指定MIME类型文档的过期时间,例如text/html文档。
- ExpiresDefault指令:所有文档的默认过期时间。
示例如下:
- ExpiresActive On:开启mod_expires功能。
- ExpiresDefault "access plus 1 months":默认的过期时间是1个月。
- ExpiresByType image/* "access plus 1 years":图片的文件类型缓存时间为1年。
- ExpiresByType text/* "access plus 1 years":text类型缓存时间为1年。
- ExpiresByType application/* "access plus 60 minutes":application文件类型缓存60分钟。
其中,各种时间的表达方式有:
表达式 | 说明 |
---|---|
access plus 1 years | 过期时间设置为,访问开始计算的一年后。 |
now plus 30 days | 当前时间的30天后。 |
modification plus 12 hours | 过期时间设置为,文件最后修改时间的12小时后。 |
A2592000 | 过期时间设置为,访问开始计算的2592000秒后,即一个月后。 |
M86400 | 过期时间设置为,文件最后修改时间的86400秒后,即一天后;该方式只对静态文件起作用,脚本生成的动态页面不起作用。 |