Back to Notes

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, чтобы не делать запрос в сеть, а только попытаться взять ответ из кэша