Где по пути запроса бывает кеш
Вопрос
Перечисли, где по дороге от браузера до базы может кешироваться ответ, и чем эти кеши отличаются.
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
Memory и disk cache браузера, управляются Cache-Control
Service Worker и Cache API: кешем управляет код приложения
CDN и обратный прокси: общие кеши, s-maxage, purge
Кеш приложения (Redis, память процесса) на бэкенде
Кеш внутри БД (буферы страниц), DNS-кеш как отдельный слой
Что могут спросить следом
- Какой из этих кешей можно сбросить сразу после деплоя?
- Чем кеш Service Worker отличается от HTTP-кеша?
Разбор
Первый слой это браузер: HTTP-кеш в памяти и на диске, им управляют заголовки ответа. Отдельно есть Service Worker с Cache API: тут правила пишет сам фронтенд, и он работает даже офлайн. Дальше общие кеши: CDN и обратный прокси вроде nginx; они общие для всех пользователей, поэтому важны private, s-maxage и Vary, а сбросить их можно через purge. На бэкенде приложение кеширует результаты в Redis или памяти процесса, тут инвалидацию пишем сами. Наконец, база держит горячие страницы в буферах. Чем ближе кеш к пользователю, тем быстрее ответ, но тем сложнее его сбросить, поэтому для клиентских кешей полагаются на хеш в URL, а не на инвалидацию.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.