Подтвердить что ты не робот

Заголовок "Возраст: 0" HTTP

Что такое HTTP-заголовок "Возраст"? В частности, что означает значение 0 (Age: "0")?

4b9b3361

Ответ 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 бит диапазона.