Технологии · 1 min read · Sep 13, 2025
mod_gzip - обслуживание сжатого контента веб-сервером Apache - Страница 2
Автор: Михаэль Шрёпл
Связь в HTTP
Для передачи веб-контента между сервером и клиентом используется Протокол передачи гипертекста (HTTP).
Связь осуществляется следующим образом:
- Клиент отправляет запрос на сервер. Этот запрос в основном состоит из HTTP-заголовков, которые описывают, какие данные клиент хочет получить.
В некоторой степени клиент может непосредственно влиять на содержание данных (например, указывая URL запрашиваемой страницы); другие части его запроса предоставляют серверу дополнительную информацию о том, какой тип данных клиент предпочел бы получить, если сервер должен предложить несколько вариантов данных. - Сервер оценивает всю доступную информацию, чтобы решить, какие данные с какими атрибутами были запрошены, и затем пытается предоставить эти данные в форме, наиболее подходящей для запроса клиента.
Этот пакет данных снова содержит HTTP-заголовки, но в основном данные - которые, тем не менее, могут быть частично интерпретируемыми без учета HTTP-заголовков.
Второй аспект определения желаемого контента называется Согласование контента в его общем виде. Доставка сжатого контента страницы в описанной здесь форме основана на этом общем принципе.
Кодировки в HTTP
HTTP 1.1 определяет в главе 3.5 так называемые кодировки контента, которые должны поддерживаться каждым браузером, соответствующим этому стандарту.
Для связи между сервером и клиентом эти кодировки имеют следующее значение:
- Этот клиент может указать список принятых кодировок контента в HTTP-заголовке Accept-Encoding:. Специальная идентичность кодировки (описывающая кодировку, которая не изменяет содержимое) будет использоваться неявно как значение по умолчанию.
- Сервер должен доставить содержимое запрашиваемого документа, используя кодировку, принятую этим клиентом.
Если сервер не может этого сделать, он должен отклонить запрос с кодом состояния 406 Not Acceptable; тем не менее, он может предоставить содержимое, не приемлемое для этого клиента в соответствии с его запросом (и обработка которого может вызвать неразрешимые проблемы для клиента).
Веб-сервер Apache использует в этом отношении защитную стратегию: если он не может обслужить страницу в соответствии с запросами клиента, но имеет несколько других вариантов на выбор, он динамически генерирует HTML-документ, содержащий краткое описание ситуации и ссылки на все соответствующие документы. (Это также происходит, если этот самый документ запрашивается браузером, который не принимает ни один из языков de и en, поддерживаемых мной в соответствии с его текущей конфигурацией; я сознательно не определил значение по умолчанию, чтобы сделать эту проблему очевидной для читателей, говорящих на иностранных языках.)
Если сервер обслуживает файл, содержащий кодировку, клиенту, не способному с ней справиться, то этот клиент может не смочь обработать его корректно.
Оригинальное местоположение этого документа:
Get new posts in your inbox
No spam. Unsubscribe anytime.