Выбор ответа Middle Кеширование обновлено

stale-while-revalidate

Вопрос

Что делает Cache-Control: max-age=60, stale-while-revalidate=300?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: 60 с отдаёт из кеша, ещё 300 с отдаёт старую копию сразу и обновляет её в фоне. В окне stale-while-revalidate пользователь получает копию мгновенно, а кеш параллельно идёт за свежей.

Варианты ответа

  1. 60 с отдаёт из кеша, ещё 300 с отдаёт старую копию сразу и обновляет её в фонеправильный ответ
  2. Кеширует ответ на 360 секунд целиком без каких-либо запросов к серверу за это время
  3. Ревалидирует копию каждые 60 секунд, а через 300 секунд удаляет её из кеша совсем
  4. Отдаёт устаревшую копию только в том случае, если сервер ответил ошибкой 5xx

Разбор

В окне stale-while-revalidate пользователь получает копию мгновенно, а кеш параллельно идёт за свежей. Второй вариант игнорирует фоновое обновление. Третий выдумывает удаление. Отдачу старой копии при ошибке сервера задаёт другая директива: stale-if-error.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.