27
我已閱讀RFC 2616,但我仍然想知道Date字段的用途。有Last-Modified字段,除了提供元數據外,實際上還有一個含義,即用於緩存('If-Modified-Since')。HTTP Date標題背後的基本原理是什麼?
但是,它有什麼用途使信息在一個單獨的Date頭中加倍?
我已閱讀RFC 2616,但我仍然想知道Date字段的用途。有Last-Modified字段,除了提供元數據外,實際上還有一個含義,即用於緩存('If-Modified-Since')。HTTP Date標題背後的基本原理是什麼?
但是,它有什麼用途使信息在一個單獨的Date頭中加倍?
每the spec,它用於年齡計算。如果您不知道服務器認爲它是什麼時間,那麼您將無法計算資源的「年齡」。下面是從規範中的有關內容:
年齡計算算法,當緩存收到響應摘要:
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;
啊,OK。那麼日期不一定是最後一次修改?如果我理解正確,那麼更「服務器什麼時候開始發送這些東西?」。這是有道理的...... – Boldewyn 2009-10-23 06:57:12
@Boldewyn沒錯 - 這是「**消息**的起源日期和時間」。 – 2013-01-02 23:54:28
@DanielLubarov不僅僅是可以發送Date標題的響應,它也不值得。它也支持請求,在客戶端建立時間是有用的。不幸的是,它通常不是我所能看到的 – 2018-02-21 13:06:35