Couple words about Cache-Control request header
This note is available only in Russian
Why Do We Have a Cache-Control Request Header?
Если про использование заголовка Cache-Control
в ответе всё понятно, то использование его же для запроса история вообще не очевидная, никогда в такой перспективе о нём не задумывался.
Он инструктирует CDN или сервер ревалидировать кэш для этого запроса. max-age=0
– запросить ревалидацию, no-cache
– запросить ревалидацию более настойчиво и запретить отдавать ответ без неё.
Несколько сценариев его применения:
- Используется браузерами для обычной и жесткой перезагрузки страницы, и как мы любим, все три основных браузера (Chrome, Safari, Firefox) ведут себя в этих сценариях по-разному.
- Можно добавлять к запросам, ответам которых очень желательно быть актуальными. В дополнение к правильным заголовкам ответа сервера для надёжности или если ему не доверяем.
- И самый интересный кейс – для оффлайн приложений со значением
only-if-cached
, чтобы не делать запрос в сеть, а только попытаться взять ответ из кэша