Лучшие практики управления кэшем
Кэширование данных на сайте позволяет уменьшить время его загрузки и снизить количество запросов к серверу. Но его еще нужно правильно настроить.
В статье подробно разбираются самые важные HTTP-заголовки, определяющие, как браузер будет работать с данными.
Etag (Entity tag)
Сервер вычисляет хеш-сумму для каждого файла, которая сохраняется в браузере. Если при следующем запросе сумма не изменилась, файл не отправляется целиком, а берется из кэша.
Last Modified
Очень похожая политика, только вместо хеш-суммы используется время последнего изменения файла. Кроме того, браузеры применяют различные эвристики, чтобы решить, следует ли обновлять файл.
Cache-Control max-age
Указывает браузеру, как долго нужно хранить файл в кеше после загрузки. При этом совсем нет запросов к серверу, но есть риск использования устаревшей версии файла. Чтобы решить эту проблему используются хеши в именах файлах.
Cache-Control no-cache
Если использовать директиву max-age к HTML-файлам, браузер просто не получит ссылки на обновленные скрипты и файлы стилей. Поэтому для них следует использовать политику no-cache, которая отлично сочетается с Etag.
Подробнее: https://medium.com/pixelpoint/best-practices-for-cache-control-settings-for-your-website-ff262b38c5a2
#cache #browser #performance
Кэширование данных на сайте позволяет уменьшить время его загрузки и снизить количество запросов к серверу. Но его еще нужно правильно настроить.
В статье подробно разбираются самые важные HTTP-заголовки, определяющие, как браузер будет работать с данными.
Etag (Entity tag)
Сервер вычисляет хеш-сумму для каждого файла, которая сохраняется в браузере. Если при следующем запросе сумма не изменилась, файл не отправляется целиком, а берется из кэша.
Last Modified
Очень похожая политика, только вместо хеш-суммы используется время последнего изменения файла. Кроме того, браузеры применяют различные эвристики, чтобы решить, следует ли обновлять файл.
Cache-Control max-age
Указывает браузеру, как долго нужно хранить файл в кеше после загрузки. При этом совсем нет запросов к серверу, но есть риск использования устаревшей версии файла. Чтобы решить эту проблему используются хеши в именах файлах.
Cache-Control no-cache
Если использовать директиву max-age к HTML-файлам, браузер просто не получит ссылки на обновленные скрипты и файлы стилей. Поэтому для них следует использовать политику no-cache, которая отлично сочетается с Etag.
Подробнее: https://medium.com/pixelpoint/best-practices-for-cache-control-settings-for-your-website-ff262b38c5a2
#cache #browser #performance