Исправляем заголовок Vary: Accept-Encoding

Исправляем заголовок Vary: Accept-Encoding

Небольшая оценка Vary: Accept-Encoding с возможными решениями.

В данной статье мы расскажем, что необходимо сделать, если на сервере со связкой apache+nginx вы получили низкую оценку Vary: Accept-Encoding.

Vary: Accept-Encoding

Заголовок Vary Accept-Encoding информирует проксирующий сервер, что необходимо сжать ресурс: как сжатую так и не сжатую версию сайта. Это способствует обхождению разного рода проблем при работе с прокси-серверами. Некоторые из них не принимают присутствие заголовка Content-Encoding.

Нам необходимо включить сжатие с помощью gzip. Для этого нам необходимо зайти в конфиг nginx /etc/nginx/nginx.conf и прописать следующее значение:

gzip  on; # Активируем кэширование с помощью gzip
gzip_comp_level 5; # Устанавливаем степень сжатия, в нашем случаем это 5
gzip_vary on; # Оставляем выдачу ответа "Vary: Accept-Encoding"
gzip_static off; # Не разрешаем прочитать сжатый файл
gzip_types text/css text/plain application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript text/x-js; # Указываем расширения файлов, которые будут подвергаться кэшированию
gzip_proxied any; # Разрешаем сжатие для всех проксированных запросов

Необходимо добавить правило в файл .htaccess:

    <IfModule mod_headers.c>
    <FilesMatch "\.(js|css|xml|gz)$">
    Header append Vary: Accept-Encoding
    </FilesMatch>
    </IfModule>

    Данный файл (.htaccess) находится в корневой папке Вашего сайта.

    После этих действий перезагружаем apache и nginx, проверяем результат.

    Vary: Accept-Encoding

    Что будем искать? Например,VPS-сервер

    Мы в социальных сетях