Ваше благополучие зависит от ваших собственных решений.

Джон Дэвисон Рокфеллер

Меню сайта
  • Компьютеры
  • Телефоны
  • Бизнес
  • Свое дело
  • Решение проблем
  • Интернет
  • Новости
  • Новости
    Реклама
    Реклама

    Как исправить предупреждение «Укажите валидатор кэша»

    1. Заголовки, которые проверяют кэш
    2. 1. Последнее изменение
    3. 2. ETag
    4. Заголовки, которые определяют длину кэша
    5. 3. Кэш-контроль
    6. 4. Истекает

    Вы видите предупреждение «Укажите валидатор кэша» в Pingdom , GTmetrix , или же Google PageSpeed ​​Insights на вашем сайте WordPress? Это связано с отсутствием заголовков кэширования HTTP, которые должны быть включены в каждый ответ исходного сервера, так как они оба проверяют и устанавливают длину кэша . Если заголовки не найдены, он будет каждый раз генерировать новый запрос ресурса, что увеличивает нагрузку на ваш сервер. Использование заголовков кэширования гарантирует, что последующие запросы не нужно загружать с сервера, что позволяет сэкономить пропускную способность и повысить производительность для пользователя. Вы видите предупреждение «Укажите валидатор кэша» в   Pingdom   ,   GTmetrix   , или же   Google PageSpeed ​​Insights   на вашем сайте WordPress

    Укажите предупреждение проверки кеша

    Предупреждение от Pingdom гласит:

    В следующих ресурсах отсутствует валидатор кэша. Ресурсы, в которых не указан валидатор кэша, не могут быть эффективно обновлены. Укажите заголовок Last-Modified или ETag, чтобы включить проверку кэша для следующих ресурсов.

    Следуйте приведенным ниже инструкциям, чтобы исправить предупреждение «Укажите валидатор кэша».

    Первое, что важно отметить в этом предупреждении, это то, что вы можете исправить это только для запросов, которые находятся на вашем сервере . Если у вас есть сторонние запросы, которые вы видите на этом, вы ничего не можете сделать, поскольку у вас нет контроля над их веб-серверами. Хотя не стесняйтесь поделиться этой статьей с ними. И помните, с Pingdom вам может понадобиться запустить тест несколько раз. Может случиться так, что предупреждение может появиться в первый раз и исчезнет во второй раз. При первом запуске инструмента он загружает кэш ресурсов с сервера.

    Существует четыре различных типа заголовков, которые могут быть по-разному использованы для исправления этого предупреждения. Здесь это может немного запутать, но мы постараемся объяснить это как можно проще.

    Заголовки, которые проверяют кэш

    Первые два заголовка являются последними модифицированными и ETag . Эти заголовки помогают браузеру определить , изменился ли файл с момента последнего запроса. Вернее, они проверяют кеш.

    1. Последнее изменение

    Последний измененный заголовок обычно отправляется автоматически с сервера. Это один заголовок, который вам обычно не нужно добавлять вручную . Он отправляется, чтобы увидеть, был ли файл в кэше браузера изменен с момента последнего запроса. Вы можете посмотреть запрос заголовка в Pingdom или использовать Chrome DevTools, чтобы увидеть значение последнего измененного заголовка.

    Вы можете посмотреть запрос заголовка в Pingdom или использовать Chrome DevTools, чтобы увидеть значение последнего измененного заголовка

    Последний измененный заголовок

    2. ETag

    Заголовок ETag также очень похож на последний измененный заголовок. Он также используется для проверки кэша файла. Если вы используете Apache 2.4 или выше, заголовок ETag уже автоматически добавляется с помощью FileETag директива , Что касается NGINX, с 2016 года заголовок ETag включен по умолчанию.

    4 или выше, заголовок ETag уже автоматически добавляется с помощью   FileETag директива   ,  Что касается NGINX, с 2016 года заголовок ETag включен по умолчанию

    Заголовок ETag

    Вы можете включить заголовок ETag вручную в NGINX, используя следующий код.

    Этаж на

    Заголовки, которые определяют длину кэша

    Следующие два заголовка - Cache-Control и Expires . Эти заголовки помогают определить, как долго файл должен храниться в кэше, прежде чем он получит новую копию с сервера. Помните, что для исправления предупреждений, которые вы видите в Pingdom или GTmetrix, вам необходимо убедиться, что у вас есть заголовок, который одновременно проверяет кэш, а также заголовок, который определяет длину кеша.

    3. Кэш-контроль

    Cache-Control - это заголовок, составленный из различных директив, которые позволяют вам определять длину кэша. Некоторые из наиболее распространенных директив включают в себя:

    • max-age: определяет время, в течение которого файл должен кэшироваться.
    • public: позволяет любому кешу публично хранить ответ.
    • private: кешируется только браузером, обращающимся к файлу.

    Заголовок Cache-Control

    В нашем примере выше мы видим, что актив использует директиву max-age. 604800 секунд равняется кешу семи дней. Чтобы настроить это в Apache, просто добавьте следующий код в ваш файл .htaccess.

    <filesMatch ". (ico | pdf | flv | jpg | jpeg | png | gif | js | css | swf) $"> Набор заголовков Cache-Control "max-age = 604800, public" </ filesMatch>

    Чтобы настроить это в NGINX Просто добавьте следующий код в ваш конфигурационный файл. Все файлы конфигурации NGINX находятся в каталоге / etc / nginx /. Основной файл конфигурации - /etc/nginx/nginx.conf.

    location ~ * \. (js | css | png | jpg | jpeg | gif | ico) $ {add_header Cache-Control "public"; }

    Чтобы узнать больше о различных директивах, прочитайте эту углубленную статью о Cache-Control ,

    4. Истекает

    И, наконец, у вас есть заголовок expires. Согласно этой статье разработчиков Google, HTTP-кеширование Заголовок Cache-Control был определен как часть спецификации HTTP / 1.1 и заменяет предыдущие заголовки (в данном случае заголовок Expires), используемые для определения политик кэширования ответов. Все современные браузеры поддерживают Cache-Control, поэтому это все, что вам нужно. Однако, если у вас есть оба, ничего не повредит, но помните, что будет использован только один. Заголовок Expires использует фактическую дату, тогда как заголовок Cache-Control позволяет указать количество времени до истечения срока действия.

    Заголовок Expires использует фактическую дату, тогда как заголовок Cache-Control позволяет указать количество времени до истечения срока действия

    Истекает заголовок

    Чтобы добавить заголовок Expires в Apache, просто добавьте следующий код в ваш файл .htaccess.

    ## EXPIRES HEADER CACHING ## <IfModule mod_expires.c> ExpiresActive On ExpiresByType image / jpg "доступ 1 год" ExpiresByType image / jpeg "доступ 1 год" ExpiresByType image / gif "доступ 1 год" ExpiresByType image / png "доступ 1 год «ExpiresByType text / css» доступ 1 месяц «ExpiresByType application / pdf» доступ 1 месяц «ExpiresByType application / javascript» доступ 1 месяц «ExpiresByType application / x-javascript» доступ 1 месяц «ExpiresByType application / x-shockwave-flash» доступ 1 месяц "ExpiresByType image / x-icon" доступ 1 год "ExpiresDefault" доступ 7 дней "</ IfModule> ## EXPIRES HEADER CACHING ##

    Убедитесь, что вы добавляете блок заголовков Expires ниже таких вещей, как mod_rewrite, GZIP и т.д. В нижней части файла находится самый безопасный.

    Добавление заголовков Expires в .htaccess

    Чтобы добавить заголовки Expires в NGINX, просто добавьте следующий код в файл конфигурации.

    location ~ * \. (js | css | png | jpg | jpeg | gif | ico) $ {expires 7d; }

    Во многих случаях в NGINX заголовок Cache-Control и заголовок Expires просто используются вместе, хотя это технически не требуется:

    location ~ * \. (js | css | png | jpg | jpeg | gif | ico) $ {expires 7d; add_header Cache-Control "public"; }

    Все вышеперечисленные заголовки по умолчанию добавляются на все серверы Kinsta, поэтому, если вы являетесь клиентом Kinsta, вы никогда не увидите это предупреждение и вам не о чем беспокоиться. Большинство сторонних поставщиков CDN, таких как KeyCDN а также Cloudflare Также автоматически добавляйте эти заголовки при доставке ваших активов. Если вы видите предупреждения, это может быть связано с тем, что на вашем хосте установлено устаревшее программное обеспечение или неправильно настроен сервер. Обычно мы видим это на общих хостах. Или, возможно, вы настраиваете свой собственный сервер, и в этом случае некоторые из приведенных выше заголовков могут быть еще не добавлены.

    И если все идет хорошо, и у вас нет сторонних запросов, которые некорректно используют заголовок, вы должны увидеть улучшение своих результатов с помощью инструментов тестирования скорости сайта, таких как Pingdom (как показано ниже).

    И если все идет хорошо, и у вас нет сторонних запросов, которые некорректно используют заголовок, вы должны увидеть улучшение своих результатов с помощью инструментов тестирования скорости сайта, таких как Pingdom (как показано ниже)

    Исправлено указание предупреждения валидатора кеша

    Профиль
    Реклама
    Деловой календарь
    Пн Вт Ср Чт Пт Сб Вс
     
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    Реклама
       
    Sti.lg.ua © 2016