Кратко

  • Свежесть HTTP определяется сравнением текущего возраста со сроком свежести; Age не содержит всего решения.
  • Надёжное доказательство связывает время, директивы, проверку, разрешение выдавать устаревшее и отпечаток доставленного представления.

Представим, что панель видит Age: 20 у кешированной конфигурации и показывает зелёный статус. Число выглядит небольшим. Но ответ содержит max-age=10, а кеш выдаёт его как разрешённый устаревший ответ, пока источник недоступен. Заголовок может быть точным, а вывод панели — неверным.

RFC 9111 разделяет возраст и срок свежести. Ответ свеж, пока его возраст не превысил срок; после этого он устарел. Проверка имеет вид freshness_lifetime > current_age. Age не сообщает применимый срок и не раскрывает весь расчёт текущего возраста.

Срок определяется по приоритету. Для общего кеша сначала применяется s-maxage, затем max-age, затем разница между Expires и Date. Если явного истечения нет, в установленных случаях допустима эвристическая оценка. Стандарт не задаёт единого алгоритма, поэтому совместимые реализации могут получить разные сроки.

Age тоже является вычислением. Это оценка секунд с момента создания или успешной проверки ответа источником. Она может учитывать входной Age, задержку ответа, расхождение с Date и время хранения в текущем кеше. При использовании сохранённого ответа без проверки кеш обязан отправить вычисленный текущий возраст.

Поэтому двадцать секунд могут быть свежими при сроке шестьдесят секунд и устаревшими при сроке десять. Устаревший ответ можно выдать при отсутствии связи или явном разрешении, если это не запрещено применимой директивой вроде no-cache или must-revalidate. Протокольная допустимость не означает актуальность цены, права доступа или настройки.

Нужен журнал решения о свежести. Это редакционная схема объединения доказательств, а не элемент протокола, определённый IETF или RFC 9111. Он связывает идентификатор и конфигурацию кеша, цель запроса, сохранённый ответ и отпечаток доставки; Date, полученный и отправленный Age, время запроса, ответа и хранения; источник срока, действующие директивы, результат проверки, разрешение на устаревшую выдачу и итоговое решение.

Источники