Tomcat中给静态资源添加缓存失效时间

您所在的位置:网站首页 tomcat服务器缓存怎么清 Tomcat中给静态资源添加缓存失效时间

Tomcat中给静态资源添加缓存失效时间

2023-07-30 00:26| 来源: 网络整理| 查看: 265

官方文档简介配置路径例子语法介绍什么样的情况response会被设置缓存头 Tomcat性能调优 通过ExpiresFilter设置资源缓存

官方文档

http://tomcat.apache.org/tomcat-7.0-doc/config/filter.html#Expires_Filter

简介

ExpiresFilter是Java servlet API 当中的一部分,它负责控制设置response当中的响应头:Expires 和 Cache-Control的max-age,过期时间可以设置为相对于源文件的最后修改时间,或者浏览器的访问时间。

这些响应头指示浏览器控制资源的缓存,如果使用了缓存,那么浏览器在下一次获取资源的时候就会从本地缓存中获取,而不是访问实际的资源服务器,除非超过失效时间。

配置路径

tomcat的conf目录下的web.xml文件

例子

下面的例子针对所有的HTML IMAGE CSS JAVASCRIPT 输出进行控制,添加HTTP头设置客户端缓存。

ExpiresFilter org.apache.catalina.filters.ExpiresFilter ExpiresByType text/html access plus 5 minutes ExpiresByType image access plus 5 minutes ExpiresByType text/css access plus 5 minutes ExpiresByType application/javascript access plus 5 minutes ... ExpiresFilter /* REQUEST 语法介绍 ExpiresDefault plus ExpiresByType type plus ExpiresByType type;encoding plus

base可以设置为:

access 访问时间。now (equivalent to ‘access’) 当前时间,相当于访问时间。modification 文件的最后修改时间。

num必须是一个integer。

type的值可以设置为:

yearsmonthsweeksdayshoursminutesseconds

ExpiresDefault代表所有的MIME类型 比如 text/plain image/png application/javascript等等。 下面的例子设置所有的MIME类型的输出被客户端缓存一个月,即缓存过期时间为一个月。

ExpiresDefault access plus 1 month ExpiresDefault access plus 4 weeks ExpiresDefault access plus 30 days

过期时间还可以使用子句进行调整,例如:

ExpiresByType text/html access plus 1 month 15 days 2 hours // 缓存到期时间设置为当前时间 加上 1个月 15天 2小时 ExpiresByType image/gif modification plus 5 hours 3 minutes // 缓存到期时间设置为文件的修改时间 加上 5小时 3分钟 什么样的情况response会被设置缓存头

1、根据ExpiresByType 指定的 Content-Type 或者 使用了ExpiresDefault

2、Expires或Cache-Control 这俩个响应头没有被定义情况过滤器才会设置,如果我们已经设置了该响应头,那么就不会再重复设置了。

3、response的status没有包含在ExpiresExcludedResponseStatusCodes这个属性的配置当中。

这个属性可以在web.xml当中配置过滤器当中配置,定义哪些状态吗不需要设置缓存头,默认304的时候就不会被设置。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3