Браузер принимает решение по HTTP-заголовкам кеширования, статусу и правилам запроса; ключевые параметры — Cache-Control, Expires, ETag и Last-Modified.
Как браузер понимает, какие файлы необходимо закэшировать?
Браузер принимает решение по HTTP-заголовкам кеширования, статусу и правилам запроса; ключевые параметры — Cache-Control, Expires, ETag и Last-Modified.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Браузер принимает решение по HTTP-заголовкам кеширования, статусу и правилам запроса; ключевые параметры — Cache-Control, Expires, ETag и Last-Modified.
max-age задаёт свежесть, no-cache требует валидации перед повторным использованием, а no-store запрещает хранение соответствующим кешем. ETag и Last-Modified помогают проверить, изменился ли ресурс, и получить 304 вместо полного тела. При отсутствии явной политики иногда возможно эвристическое кеширование. Также существуют отдельные механизмы, например Service Worker Cache API. Браузер не просто запоминает все файлы по расширению, а сервер должен не допустить общего кеширования персональных ответов.