В чем разница между max-age и max-stale в механизме управления кешем

Я знаю, что это простой вопрос, и я уверен, что ни одно тело не будет отмечать это как повторяющийся вопрос, потому что я искал все SO. поэтому мой вопрос заключается в том, какая разница между max-age и max-stale в механизме управления кэшем Http, я прочитал его в здесь, но я чувствовал, что он немного сложный, поэтому, если кто-нибудь может объяснить об этом? это будет большой помощью

Ответы

Ответ 1

От RFC 7234:

Директива "Максимальный возраст" указывает, что клиент    не желая принять ответ, возраст которого больше, чем    указанное количество секунд. Если директива max-stale request    также присутствует, клиент не желает принимать устаревшие    Ответ.

...

Директива "max-stale" указывает, что клиент    желая принять ответ, который превысил его свежесть    продолжительность жизни. Если max-stale присваивается значение, то клиент    желая принять ответ, который превысил его продолжительность жизни    не более чем на указанное количество секунд.

То есть, max-age является самым старым, что может быть ответом, если Cache-Control с исходного сервера указывает, что он еще свежий. max-stale указывает, что, даже если ответ известен как устаревший, вы также будете принимать его, пока он будет только устаревать на это количество секунд.

В соответствии с Отслеживание ответных ответов:

Кэш СЛЕДУЕТ генерировать поле заголовка предупреждения с кодом предупреждения 110    (см. раздел 5.5.1) в устаревших ответах.

Итак, если вы указали max-stale и получили не более свежий ответ, заголовок Warning сообщит вам.