Apache Webserver: проверьте, поддерживается ли декомпрессия

С SetInputFilter DEFLATE Я могу заставить апач распаковать входящие сообщения. Есть ли способ узнать у веб-сервера, поддерживает ли он распаковку входящих запросов. Я ожидаю, что конкретная информация заголовка для этого. Единственная информация HEADER, о которой я знаю, это: accept-encoding (для запросов, afaik) и content-encoding (которая только сообщает клиенту, что ответ закодирован правильно?).

2 ответа

Если специально не настроено иначе, современные браузеры и веб-серверы автоматически обрабатывают согласование схемы сжатия. Обычно выполняется за 2 шага, в результате чего клиент объявляет поддерживаемые схемы сжатия, а сервер отвечает с использованием схемы сжатия, которую поддерживают оба.

Смотрите эту статью для справедливого обращения.

Если вы хотите сначала "проверить" его, вы можете извлечь любой ресурс с сервера и проанализировать значение "Content-Encoding" из заголовков ответа.

Документация Apache для mod_deflate объясняет это очень четко:

Декомпрессия ввода

Модуль mod_deflate также предоставляет фильтр для распаковки тела сжатого gzip запроса. Чтобы активировать эту функцию, вы должны вставить фильтр DEFLATE в цепочку входных фильтров, используя SetInputFilter или AddInputFilter, например:

<Location "/dav-area">
   SetInputFilter DEFLATE </Location>

Теперь, если запрос содержит Content-Encoding: gzip заголовок, тело будет автоматически распаковано. Лишь немногие браузеры имеют возможность gzip тела запросов. Однако некоторые специальные приложения действительно поддерживают сжатие запросов, например некоторые клиенты WebDAV.

Это означает, что, установив фильтр ввода в DEFLATE, apache будет искать заголовки запроса для Content-Encoding: gzip и будет распаковывать ввод только при наличии этого заголовка.

Другие вопросы по тегам