Выбор ответа Middle Кеширование обновлено
stale-while-revalidate
Вопрос
Что делает Cache-Control: max-age=60, stale-while-revalidate=300?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: 60 с отдаёт из кеша, ещё 300 с отдаёт старую копию сразу и обновляет её в фоне. В окне stale-while-revalidate пользователь получает копию мгновенно, а кеш параллельно идёт за свежей.
Варианты ответа
- 60 с отдаёт из кеша, ещё 300 с отдаёт старую копию сразу и обновляет её в фонеправильный ответ
- Кеширует ответ на 360 секунд целиком без каких-либо запросов к серверу за это время
- Ревалидирует копию каждые 60 секунд, а через 300 секунд удаляет её из кеша совсем
- Отдаёт устаревшую копию только в том случае, если сервер ответил ошибкой 5xx
Разбор
В окне stale-while-revalidate пользователь получает копию мгновенно, а кеш параллельно идёт за свежей. Второй вариант игнорирует фоновое обновление. Третий выдумывает удаление. Отдачу старой копии при ошибке сервера задаёт другая директива: stale-if-error.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.