以下是我的 webapp 的 web.xml 中的一个片段
<filter>
<filter-name>ExpiresFilter</filter-name>
<filter-class>org.apache.catalina.filters.ExpiresFilter</filter-class>
<init-param>
<param-name>ExpiresByType text/css</param-name>
<param-value>access plus 3 months</param-value>
</init-param>
<init-param>
<param-name>ExpiresByType text/html</param-name>
<param-value>access plus 3 months</param-value>
</init-param>
<init-param>
<param-name>ExpiresByType application/javascript</param-name>
<param-value>access plus 3 months</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>ExpiresFilter</filter-name>
<url-pattern>/css/*</url-pattern>
<url-pattern>/dist/*</url-pattern>
<url-pattern>/lib/*</url-pattern>
<url-pattern>/partials/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
当将 logging.properties 设置为 FINER 时,我得到
2015 11:51:35 AM org.apache.catalina.filters.ExpiresFilter isEligibleToExpirationHeaderGeneration FINE: Request "/kuku/dist/js/vendor.js.map" with response status "200" content-type "null", expiration header already defined
我在tomcat的conf目录下搜索
grep -r expire conf
并没有找到任何东西。
可以在哪里设置过期 header ?
最佳答案
我不知道它是否有帮助,但实际上有两种情况您会收到该日志消息:
如果响应已经有“Expires” header
如果响应具有指定“max-age”属性的“Cache-control” header 。
引用:
(我假设我已经找到了正确的源代码...)
关于java - tomcat ExpiresFilter 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28022453/