Что делать, если Google PageSpeed Настоятельно просит: Укажите заголовок Vary: Accept-Encoding?
Заголовок Vary Accept-Encoding Сообщает прокси-серверам, что нужно кэшировать обе версии ресурса: сжатую и несжатую. Это помогает избежать проблем при работе с общедоступными прокси-серверами, которые не распознают наличие заголовка Content-Encoding.
Для того, чтобы удовлетворить желания Гугла, необходимо в конфигурационные файлы добавить следующий код:
apache2
Добавляем код в .htaccess
<IfModule mod_headers.c> <FilesMatch "\.(js|css|xml|gz)$"> Header append Vary: Accept-Encoding </FilesMatch> </IfModule>
nginx
gzip on; # Включаем сжатие gzip_comp_level 5; #Степень сжатия (от 1 до 9 цифра больше увеличивает степень сжатия и как следствие нагрузка на ЦПУ растет) 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_min_length 1024; # Указываем минимальную длина ответа, при которой модуль будет сжимать, в байтах (сжимаем файлы больше киллобайта, меньше смысла не имеет слабо ощутимо сжатие будет) gzip_disable MSIE [4-6]\.; # Запрещаем сжатие ответа методом gzip для IE4-6 gzip_proxied any; # Разрешить сжатие для всех проксированных запросов