Что означает эта конфигурация в apache?

Header append Vary User-Agent env=!dont-vary

Кто-нибудь может дать подробное объяснение этому?

2 ответа

При этом Apache mod_headers добавляет значение "User-Agent" в заголовок Vary HTTP, но только в том случае, если не установлена ​​среда dont- var.

Но что такое заголовок Vary? См. RFC2616, в котором говорится

Значение поля Vary указывает набор полей заголовка запроса, который полностью определяет, в то время как ответ является свежим, разрешено ли кешу использовать ответ для ответа на последующий запрос без повторной проверки

Если вы предоставляете разную HTML-разметку в зависимости от заголовка User-Agent, вы можете использовать заголовок Vary с User-Agent в нем, чтобы гарантировать, что кэширующий прокси-сервер не обслуживает контент, предназначенный для браузера X, браузеру Y.

Смотрите директиву Header в документации mod_headers.

Это указывает веб-серверу добавить новое значение заголовка Vary к любому предыдущему значению заголовка Vary (отделяя новое значение от старого запятой) или создать новое значение для заголовка Vary. Новое значение, которое будет создано или добавлено, будет user-agent. Этот заголовок будет создаваться / добавляться только в том случае, если переменная окружения dont-var не определена в среде исполняемой службы apache.

Подводя итог, если переменная окружения dont-Var не существует, сервер выдаст что-то вроде этого:

Vary: ...,user-agent
Другие вопросы по тегам