我有一个 Jetty 服务器,它没有启用压缩(我在这里测试过).如何启用压缩?
答案1
您必须启用GzipFilter
才能使 Jetty 返回压缩内容。请看这里了解如何操作:http://blog.max.berger.name/2010/01/jetty-7-gzip-filter.html
您还可以使用gzip
init 参数让 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)提供未压缩的内容。