我有一个正在运行的 Apache Tomcat 服务器。如果我有类似的东西:
webapp/
image1.png
然后,我可以使用以下方式简单地访问它:
example.com/image1.png
这是完美的,除了我无法控制要发送的 header 。我希望为某些 MIME 类型(例如 image/png
)发送特定的 Expires
header 。这些 header 将是静态的,所以我真的不介意我是否必须在某些 XML 文件中指定它并且不能是动态的。
Apache Tomcat 可以吗?另一种明显的方法是从文件中读取并使用适当的 header 将其输出到浏览器,但我认为这可能有点矫枉过正。
最佳答案
使用 Tomcat 过滤器来应用此 header 。
<web-app ...>
...
<filter>
<filter-name>ExpiresFilter</filter-name>
<filter-class>org.apache.catalina.filters.ExpiresFilter</filter-class>
<init-param>
<param-name>ExpiresByType image</param-name>
<param-value>access plus 10 minutes</param-value>
</init-param>
<init-param>
<param-name>ExpiresByType text/css</param-name>
<param-value>access plus 10 minutes</param-value>
</init-param>
<init-param>
<param-name>ExpiresByType application/javascript</param-name>
<param-value>access plus 10 minutes</param-value>
</init-param>
</filter>
...
<filter-mapping>
<filter-name>ExpiresFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
...
</web-app>
更多信息请访问 Tomcat Filter Documentation
关于java - 在 Apache Tomcat 中发送关于 MIME 类型响应的特定 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10896339/