Почему GzipHandler в Jetty по умолчанию включает только запросы GET? - PullRequest
0 голосов
/ 29 октября 2019

Я настраиваю сжатие gzip для сервера через Jetty, и есть конечные точки PUT / POST, чьи полезные данные ответа я бы хотел сжать. Конфигурация GzipHandler по умолчанию для Jetty включает только GET;что это значение по умолчанию задокументировано, но я не могу найти документацию относительно , почему это значение по умолчанию. Есть ли недостаток в применении gzip, когда метод не GET?

1 Ответ

0 голосов
/ 29 октября 2019

Причина кроется в ответах от PUT и POST, которые в общем смысле не подходят для помещения в кеш.

GET был выбран в качестве значения по умолчанию при первом введении сжатия gzip, (и еще до того, как Jetty перешел на Eclipse, еще до Servlet 2.0, когда он еще назывался GzipFilter в Jetty) и в ту эпоху, если контент не мог быть кэширован, он не был сжат.

Почему?

Что ж, тогда использование системных ресурсов для сжатия одного и того же контента снова и снова воспринималось как негатив, было важнее обслуживать много запросов по сравнению с несколькими оптимизированными запросами.

GzipHandler может быть настроен на использование любого метода, даже бессмысленного, такого как HEAD.

Не позволяйте значению по умолчанию по историческим причинам мешать вам использовать GzipHandler, использовать его, настраивать его и быть счастливым.

Не стесняйтесь подать вопрос с просьбой изменить значения по умолчанию на https://github.com/eclipse/jetty.project/issues

...