Какой смысл в заголовке HTTP Date? - PullRequest
35 голосов
/ 23 октября 2009

Я прочитал RFC 2616 , но все же мне интересно, для чего предназначено поле Дата. Существует поле Last-Modified, которое на самом деле имеет значение, помимо простого предоставления метаданных, то есть для кэширования («If-Modified-Since»).

Но какая польза от удвоения информации в отдельном заголовке даты?

1 Ответ

36 голосов
/ 23 октября 2009

за спецификацию , используется в расчетах возраста. Если вы не знаете, сколько времени сервер думает, вы не сможете рассчитать «возраст» ресурса. Вот соответствующий текст из спецификации:

Сводка алгоритма расчета возраста, когда кеш получает ответ:

age_value
значение Age: заголовок, полученный кешем с этот ответ.

date_value
значение заголовка Date: исходного сервера

request_time
(локальное) время, когда кеш сделал запрос что привело к этому кешированному ответу

response_time
это (локальное) время, когда кеш получил ответ

now
текущее (местное) время

apparent_age = max(0, response_time - date_value);
corrected_received_age = max(apparent_age, age_value);
response_delay = response_time - request_time;
corrected_initial_age = corrected_received_age + response_delay;
resident_time = now - response_time;
current_age   = corrected_initial_age + resident_time;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...