web-dev-qa-db-ja.com

JettyでGZIP圧縮を有効にするにはどうすればよいですか?

圧縮が有効になっていないJettyサーバーがあります(私は これをここでテストしました )。圧縮を有効にするにはどうすればよいですか?

9
Yazz.com

Jettyが圧縮されたコンテンツを返すようにするには、GzipFilterを有効にする必要があります。その方法については、こちらをご覧ください: http://blog.max.berger.name/2010/01/jetty-7-gzip-filter.html

gzip initパラメータを使用して、Jettyで圧縮コンテンツを検索することもできます。つまり、ファイルfile.txtが要求された場合、Jettyはfile.txt.gzという名前のファイルを監視し、それを返します。

11
fab

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 initパラメータが引き続き機能します(実際には、GZipハンドラを通過するよりも効率的です)。ただし、 Jettyは互換性のないブラウザー(主にIE) に対して非圧縮コンテンツを提供する必要がある場合があるため、サーバーにも非圧縮コピーを保持することをお勧めします。

0
Janaka Bandara