Что означает эта конфигурация в 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