[8] Age:
ヘッダーは応答の齢を表します。
齢は、応答が起源鯖で生成されてからの時間です。
[12] Age:
ヘッダーは、
応答が生成または成功裏に検証されてからの時間を送信者が見積もった値を示します
>>19, >>11。
[21] Age:
ヘッダーは起源鯖で生成された応答には付与されず、
キャッシュが返した応答には付与されます。 Age:
ヘッダーの存在は、当該要求が起源鯖によって生成されたものではなく、
起源鯖が検証したものでもないことを表しています >>19。
しかし HTTP/1.0 キャッシュは Age:
ヘッダーに対応していないことがありますから、 Age:
がないからといって起源鯖が生成・検証したものとは限りません >>19。
[10] 応答の齢は、
起源鯖で生成されたか、検証が成功したかのいずれかからの経過時間です >>7。
齢 current_age
は次の通り計算します。
[13] apparent_age は、手元の時計が十分よく起源鯖の時計と同期されている場合、
[14] corrected_age_value は、応答の経路上のキャッシュがすべて HTTP/1.1 を実装する場合に
age_value
は Age:
ヘッダーの値か、なければ 0request_time
は蓄積された応答の元の要求を行った際の時計の現在値response_time
は応答を受信した際の時計の現在値response_delay := response_time - request_time
corrected_age_value := age_value + response_delay
[15] corrected_initial_age は、原則として
Via:
ヘッダーに HTTP/1.0
ホップが含まれないなど Age:
ヘッダーの値が信頼できると思われる場合は、[26] Alternates:
ヘッダーの齢は、
それが含まれていた応答の齢です >>27。
[25] 選択応答では、最善の異体の齢と Alternates:
ヘッダーの齢の大きな方を Age:
ヘッダーの値としなければなりません >>24。
[20] Age:
ヘッダーの値は、
デルタ秒で、時間を秒単位で表した非負整数です >>19。
[23] キャッシュは、蓄積された応答を検証なしに再利用した場合は、
Age:
ヘッダーを生成 (既にあれば置換)
しなければなりません。その値は current_age
としなければなりません。 >>22
[18] 齢の値は、発見的満期時刻を使った場合の Warning:
ヘッダーの生成に関わります。
- age
- The age of a response is the time since it was sent by, or successfully validated with, the origin server.
The Age response-header field conveys the sender's estimate of the amount of time since the response (or its revalidation) was generated at the origin server. A cached response is "fresh" if its age does not exceed its freshness lifetime. Age values are calculated as specified in section 13.2.3.
Age
応答頭欄は、応答が起源サーバーで生成されてから
(またはその再検証から) の時間を送信者が見積もったものを伝達します。
キャッシュ応答は、その年齢が新鮮生存時間をこえなければ
「新鮮」です。年齢値は13.2.3 節に示したように計算します。
- Age = "Age" ":" age-value
- age-value = delta-seconds
Age values are non-negative decimal integers, representing time in seconds.
年齢値は非負十進整数で、秒数で時間を表現します。
If a cache receives a value larger than the largest positive integer it can represent, or if any of its age calculations overflows, it MUST transmit an Age header with a value of 2147483648 (2^31).
HTTP/1.1 caches MUST send an Age header in every response.An HTTP/1.1 server that includes a cache MUST include an Age header field in every response generated from its own cache. Caches SHOULD use an arithmetic type of at least 31 bits of range.
キャッシュがその表現できる最大の正整数より大きい値を受け取った場合、
またはその年齢計算のいずれかが桁あふれした場合、値
2147483648
(231) の Age
頭を転送しなければなりません。 HTTP/1.1 キャッシュは各応答で キャッシュを含む HTTP/1.1 サーバーは、その自身のキャッシュから生成した各応答に Age
頭を送信しなければなりません。Age
頭欄を含めなければなりません。
キャッシュは、最低31ビットの範囲の計算型を使用するべきです。
[28] freenginxでAgeヘッダーの扱いが改善されました · hnakamur's blog, , https://hnakamur.github.io/blog/2024/07/22/freenginx-proxy-cache-age/