Вопрос

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

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

Это было полезно?

Решение

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

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

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

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;
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top