Причина кроется в ответах от PUT и POST, которые в общем смысле не подходят для помещения в кеш.
GET был выбран в качестве значения по умолчанию при первом введении сжатия gzip, (и еще до того, как Jetty перешел на Eclipse, еще до Servlet 2.0, когда он еще назывался GzipFilter в Jetty) и в ту эпоху, если контент не мог быть кэширован, он не был сжат.
Почему?
Что ж, тогда использование системных ресурсов для сжатия одного и того же контента снова и снова воспринималось как негатив, было важнее обслуживать много запросов по сравнению с несколькими оптимизированными запросами.
GzipHandler может быть настроен на использование любого метода, даже бессмысленного, такого как HEAD.
Не позволяйте значению по умолчанию по историческим причинам мешать вам использовать GzipHandler, использовать его, настраивать его и быть счастливым.
Не стесняйтесь подать вопрос с просьбой изменить значения по умолчанию на https://github.com/eclipse/jetty.project/issues