开发者社区> 问答> 正文

怎么设置Apache缓存策略?

怎么设置Apache缓存策略?

展开
收起
保持可爱mmm 2020-03-30 14:54:40 538 0
1 条回答
写回答
取消 提交回答
  • 详细信息 mod_expires模块设置 Apache可以通过配置文件的mod_expires模块控制HTTP协议的Expires和Cache-Control头部信息。mod_expires模块的主要作用是自动生成页面头部信息中的Expires标签和Cache-Control标签,从而降低客户端的访问频率和次数,达到减少不必要流量和增加访问速度的目的。

    mod_expires模块的介绍 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 plus 1 month、access plus 4 weeks、now plus 30 days和A2592000写法的意义相同,指过期时间是从访问时开始计算。 modification plus 5 hours 3 minutes和M604800意义相同,指过期时间是以被访问文件的最后修改时间开始计算。 M604800只对静态文件起作用,脚本生成的动态页面不起作用。

    配置示例 mod_expires模块的配置如下所示。 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分钟。 访问image/jpeg类型的缓存时间为315360000秒,即10年,如下所示。 缓存时间验证 如果将image/jpeg类型设置为不缓存,即将max-age设置为0秒,配置如下所示。 #ExpiresByType image/* "access plus 10 years" ExpiresByType image/* A0 再次访问时,发现缓存时间为0秒。 max-age

    mod_headers模块设置 mod_headers模块配置示例如下所示,详细介绍请参考Apache官方网站。

    YEAR

    Header set Cache-Control "max-age=2592000″

    WEEK

    Header set Cache-Control "max-age=604800″

    NEVER CACHE

    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"

    2020-03-30 14:59:20
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
基于英特尔 SSD 的虚拟机缓存解决SSD 立即下载
用户态高速块缓存方案 立即下载
高性能Web架构之缓存体系 立即下载

相关镜像