如何在 Jetty 中启用 GZIP 压缩?

如何在 Jetty 中启用 GZIP 压缩?

我有一个 Jetty 服务器,它没有启用压缩(我在这里测试过).如何启用压缩?

答案1

您必须启用GzipFilter才能使 Jetty 返回压缩内容。请看这里了解如何操作:http://blog.max.berger.name/2010/01/jetty-7-gzip-filter.html

您还可以使用gzipinit 参数让 Jetty 搜索压缩内容。这意味着如果file.txt请求该文件,Jetty 将查找名为的文件file.txt.gz并返回该文件。

答案2

在 Jetty 8 (?) 及更高版本中,您将必须使用GzipHandler似乎GzipFilter已被弃用/缺失的:

<Configure class="org.eclipse.jetty.webapp.WebAppContext">
    <Set name="handler">
        <New class="org.eclipse.jetty.server.handler.GzipHandler"/>
        <!-- package name might have changed in Jetty 9; possibly org.eclipse.jetty.server.handler.gzip.GzipHandler
             as per https://stackoverflow.com/questions/35725538/jetty-gziphandler-configuration -->
    </Set>
</Configure>

如果您只想提供静态内容(这实际上比通过 GZip 处理程序更有效),则initgzip参数仍然有效。但是,建议在服务器上保留未压缩的副本,因为Jetty 可能需要为不兼容的浏览器(主要是 IE)提供未压缩的内容

相关内容