С участием SetInputFilter DEFLATE
Я могу заставить apache распаковывать входящие сообщения. Есть ли способ спросить веб-сервер, поддерживает ли он распаковку входящих запросов. Я бы ожидал для этого конкретной информации HEADER. Единственная информация HEADER, о которой я знаю, это: accept-encoding (для запросов, afaik) и content-encoding (который только сообщает клиенту, что ответ закодирован правильно?).
Если специально не настроено иное, современные браузеры и веб-серверы автоматически обрабатывают согласование схемы сжатия. Обычно выполняется в 2 этапа, когда клиент объявляет поддерживаемые схемы сжатия, а сервер отвечает, используя схему сжатия, которую оба поддерживают.
Видеть Эта статья для справедливого обращения.
Если вы действительно хотите сначала «проверить» его, вы можете получить любой ресурс с сервера и проанализировать значение «Content-Encoding» из заголовков ответов.
Документация Apache для mod_deflate объясняет это очень ясно:
Входная декомпрессия
Модуль mod_deflate также предоставляет фильтр для распаковки тела запроса, сжатого с помощью gzip. Чтобы активировать эту функцию, вам необходимо вставить фильтр DEFLATE в цепочку входных фильтров, используя SetInputFilter или AddInputFilter, например:
<Location "/dav-area"> SetInputFilter DEFLATE </Location>
Теперь, если запрос содержит
Content-Encoding: gzip
заголовок, тело будет автоматически распаковано. Немногие браузеры имеют возможность архивировать тела запросов. Однако некоторые специальные приложения действительно поддерживают сжатие запросов, например, некоторые клиенты WebDAV.
Это означает, что, установив для входного фильтра значение DEFLATE, apache будет искать заголовки запроса для Content-Encoding: gzip
и будет распаковывать ввод только при наличии этого заголовка.