圧縮が有効になっていないJettyサーバーがあります(私は これをここでテストしました )。圧縮を有効にするにはどうすればよいですか?
Jettyが圧縮されたコンテンツを返すようにするには、GzipFilter
を有効にする必要があります。その方法については、こちらをご覧ください: http://blog.max.berger.name/2010/01/jetty-7-gzip-filter.html
gzip
initパラメータを使用して、Jettyで圧縮コンテンツを検索することもできます。つまり、ファイルfile.txt
が要求された場合、Jettyはfile.txt.gz
という名前のファイルを監視し、それを返します。
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) に対して非圧縮コンテンツを提供する必要がある場合があるため、サーバーにも非圧縮コピーを保持することをお勧めします。