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

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

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


person omg    schedule 09.06.2009    source источник


Ответы (2)


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

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

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

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

person Paul Dixon    schedule 09.06.2009

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

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

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

Vary: ...,user-agent
person Dathan    schedule 09.06.2009