如何配置tomcat以提供预压缩的静态文件?

0sgqnhkj  于 2023-03-23  发布在  其他
关注(0)|答案(2)|浏览(182)

在nginx下,我知道一个选项:

gzip_static on;

它允许访问具有相同名称的预压缩gzip文件,例如,如果我有一个文件/var/www/style.css.gz,当请求http://localhost/style.css,标题为' Accept-Encoding:gzip时,服务器将返回磁盘style.css.gz上的文件style.css
如何在Tomcat下执行相同的操作?

xn1cxnb4

xn1cxnb41#

您可以在web.xml中设置precompressed标志来执行以下操作:https://tomcat.apache.org/tomcat-9.0-doc/default-servlet.html#where

zf9nrax1

zf9nrax12#

Tomcat没有这个特性。
如果你愿意,你可以写一个servlet/filter/等。
从Tomcat 8.5开始,您可以在web.xml中设置precompressed标志来实现这一点。您必须修改conf/web.xml以在站点范围内启用此功能,或者将DefaultServlet的配置从conf/web.xml复制到应用程序的WEB-INF/web.xml中。
您必须将名称为precompressed<init-param>设置为true,如下所示:

<init-param>
  <param-name>precompressed</param-name>
  <param-value>true</param-value>
</init-param>

还有其他可用的选项,因此您应该read about Tomcat's DefaultServlet以获取更多信息。
在Tomcat 8.0中,该选项名为gzip,与上面类似。如果您正在使用该选项,则应在Tomcat 8.0中使用read about Tomcat's DefaultServlet请注意,Tomcat 8已达到EOL,不应再使用。

相关问题