2009-10-22 12 views
27

私はRFC 2616と読みましたが、それでもなお、Dateフィールドは何のためにあるのでしょうか。 Last Modifiedフィールドがあります。このフィールドは、メタデータの提供だけでなく、キャッシング( 'If-Modified-Since')以外にも実際に意味を持ちます。HTTP Dateヘッダーの背後にある根拠は何ですか?

しかし、別のDateヘッダーの情報をどのように倍増させるのに役立ちますか?

答えて

31

the specによると、年齢計算に使用されます。サーバーが何時に思っているかわからない場合は、リソースの「年齢」を計算することはできません。ここではスペックから関連するテキストです:

キャッシュはレスポンスを受信年齢計算アルゴリズムの概要: これでキャッシュが受信したヘッダ:

age_value
は、年齢の値です応答。

date_value

request_time
は、キャッシュはこのキャッシュされた応答の結果、要求 を行った(ローカル)時間であるオリジンサーバのDate:ヘッダの値である

response_time
キャッシュ 応答

now
受信(ローカル)時間OK、現在の(ローカル)時間

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; 
+0

あです。その後、日付は必ずしも最後の変更と同じではありませんか?私が正しく理解していれば、それはより多くのことです。それは意味をなさないでしょう... – Boldewyn

+0

@Boldewynそうです - それは "メッセージ**が発信された日時"です。 –

+0

@DanielLubarovは、Dateヘッダーを送信できるレスポンスだけではありません。要求にも対応しています。クライアントに時間を設定すると便利です。残念ながら、私が見ることができるものから一般的に設定されていません –

関連する問題