Назад | Перейти на главную страницу

Как включить сжатие GZIP в Jetty?

У меня есть сервер Jetty, на котором не включено сжатие (я протестировал это здесь). Как включить сжатие?

Вы должны включить GzipFilter чтобы Jetty возвращал сжатый контент. Посмотрите, как это сделать: 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).