Что такое HTTP-заголовок "Возраст"? В частности, что означает значение 0 (Age: "0"
)?
Заголовок "Возраст: 0" HTTP
Ответ 1
См. спецификация HTTP 1.1 о том, что поле заголовка возраста предназначен для использования:
Поле заголовка ответа на возраст передает оценку отправителя количества времени с момента генерации ответа (или его повторной аттестации) на сервере происхождения.
Эта информация используется промежуточными прокси-серверами для передает оценку того, насколько старый хранимый ответ:
HTTP/1.1 требует, чтобы исходные серверы отправляли заголовок даты, если это возможно, с каждым ответом, давая время, в которое был сгенерирован ответ (см. раздел 14.18). Мы используем термин "date_value" для обозначения значения заголовка Date в форме, подходящей для арифметических операций.
HTTP/1.1 использует заголовок ответа Age, чтобы передать предполагаемый возраст ответного сообщения, когда он получен из кеша. Значение поля "Возраст" - это оценка кеша количества времени с момента создания или повторения ответа на исходном сервере.
Кроме того, поле заголовка Age предназначено для использования только промежуточными кэшами:
Наличие поля заголовка Age в ответе подразумевает, что ответ не из первых рук.
Это означает, что наличие поля заголовка Age: 0
означает, что полученный ответ был отправлен промежуточным кешем и имеет только нулевое число секунд. Поэтому, скорее всего, он был доставлен с сервера происхождения, прежде чем отправлять его клиенту.
Ответ 2
"Заголовок заголовка указывает оценку в количестве секунд возраста запрашиваемого ресурса с момента последнего запроса с веб-сервера происхождения".
"Поскольку задержки в сети могут приводить к вычислению неверно низких возрастов, возраст пересчитывается на каждом этапе пути возврата на основе расчетного времени между прыжками. Вместо того, чтобы в зависимости от расчетов, сделанных другими промежуточными прокси, возраст будет обычно рассчитываются как разница между текущей текущей датой прокси и общим заголовком даты, включенным в ответ HTTP. Если несинхронизированные часы делают это вычисление, что приводит к отрицательной разнице, используется возраст 0."
Крис Шифлетт, "Руководство для разработчиков HTTP", стр. 83.
Ответ 3
В протоколе будет указано :
Поле заголовка ответа возраста передает оценку отправителя количество времени с момента ответа (или его повторной аттестации) сгенерированный на сервере происхождения. Кэшированный ответ "свежий", если его возраст не превышает срок его свежести. Возрастные значения рассчитанный, как указано в разделе 13.2.3.
Age = "Age" ":" age-value age-value = delta-secondsЗначения возраста - неотрицательные десятичные целые числа, представляющие время в секунд. Если кеш получает значение больше наибольшего положительного целое число, которое он может представлять, или если какой-либо из его возрастных вычислений переполнения, он ДОЛЖЕН передать заголовок Age со значением 2147483648 (2 ^ 31). Сервер HTTP/1.1, который включает в себя кеш, ДОЛЖЕН включить поле заголовка Возраста в каждом ответе, полученном из его собственный кеш. Кэши ДОЛЖНЫ использовать арифметический тип не менее 31 бит диапазона.