Freshness and age
02A response is fresh when its freshness lifetime exceeds its current age, after accounting for transit and time in caches.
Related RFCs and changes
“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.
DIAGRAM§ 4.2 ↗
RFC 9111 · § 4.2EXAMPLE
3 / 3
03
Apply the freshness comparison.
Thirty seconds remain in this example; all other reuse restrictions must still be satisfied.
Protocol participantThreat or exceptionProtocol controlSimplified drawings · precise section references
Read the updated RFC section ↗
Compare lifetime to age, not just local storage time.
- For a shared cache, s-maxage takes priority over max-age; otherwise max-age precedes Expires minus Date.
- Age accounts for prior cache residence and network transit, not only time since this cache stored the response.
- In the example, max-age=60, corrected initial age=10, and residence=20 give current age=30: still fresh.
The example assumes the initial age was already correctly calculated. At current age 60, a lifetime of 60 is no longer fresh. Missing explicit freshness may allow constrained heuristic freshness; it does not imply unlimited reuse.
Read the RFC section ↗Diagrams simplify the RFC. Read the linked sections for complete requirements.
Privacy