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

Какое обоснование заголовка HTTP-даты?

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

Но для чего нужно удвоить информацию в отдельном заголовке Date?

4b9b3361

Ответ 1

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

Резюме алгоритма вычисления возраста, когда кэш получает ответ:

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;