Was ist die Logik hinter dem HTTP-Header-Datum?
Frage
Ich habe RFC 2616 , aber immer noch ich frage mich, was das Feld Datum ist für. Es ist das Last-Modified-Feld, die wirklich eine Bedeutung hat neben nur Metadaten dienen, das heißt, für das Caching ( 'If-Modified-Since').
Aber was nützt es hat die Informationen in einem separaten Datum Header zu verdoppeln?
Lösung
Zusammenfassung des Alters Berechnungsalgorithmus, wenn ein Cache empfängt eine Antwort:
age_value
ist der Wert von Alter: Kopf durch den Cache empfangen mit diese Antwort.
date_value
ist der Wert desDate:
Header des Ursprungsservers
request_time
Es ist die (lokale), wenn der Cache die Anforderung gestellt hat dass in Folge dieser zwischengespeicherte Antwort
response_time
Es ist die (lokale), wenn der Cache-Speicher die empfangene Antwort
now
ist die aktuelle (lokale) Zeitapparent_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;