Cache immutable

Cache-control: immutable

С сегодняшнего дня для всех пользователей Айри сайты стали еще быстрее с «незыблемым» кэшем.

Схемы кэширования файлов

До недавнего времени существовало два вида кэширования файлов сайта в браузере: условное и безусловное кэширование. При условном кэшировании вместе с файлом отправляется его «слепок» (обычно время изменения или небольшой хэш) для оперативного запроса в случае возможного изменения файла. Для случае безусловного кэширования отправляется время жизни кэша этого файла (в секундах). Таким образом браузер может перезапросить файл с сайта после окончания срока кэширования.

К сожалению, реализация этих механизмов различается от браузера к браузера: в каких конкретно случаях нужно перезапросить файл в случае условного или безусловного кэширования. Браузеры ориентируются на особенности пользовательского опыта в отношении сайтов, подстраиваясь под поведение людей и меньше учитывая разработанные стандарты. Поэтому веб-разработчикам для обеспечения универсального отображения сайта во всех браузерах приходится следовать достаточно жестким правилам касательно кэширования: применять «вечное» кэширование для всех файлов и изменять имя файла при его обновлении (для гарантии сброса кэша во всех браузерах).

Cache-control: immutable

Для устранения запросов в случае условного кэширования (без исключений со стороны браузеров) веб-разработчикам предложили дополнить заголовок ключевым словом immutable. Это гарантирует, что данный ресурс не будет меняться на стороне сайта (в случае изменения будет создан новый ресурс).

Айри используется Cache-Control: immutable для всех подключенных сайтов. По статистике Facebook количество запросов к сайту после такого изменения уменьшается на 60%, а скорость на мобильных соединениях возрастает на 25-50%.