HTTP Date标头背后的基本原理是什么?

Bol*_*wyn 37 date header http

我已阅读RFC 2616,但我仍然想知道,Date字段的用途是什么.有Last-Modified字段,除了提供元数据之外,实际上还有一个含义,即用于缓存('If-Modified-Since').

但有什么用它来使单独的Date标题中的信息加倍?

Jon*_*erg 38

根据规范,它用于年龄计算.如果您不知道服务器认为它的时间,您将无法计算资源的"年龄".以下是规范中的相关文字:

年龄计算算法摘要,当缓存收到响应时:

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;
Run Code Online (Sandbox Code Playgroud)