Visual RFC.
ALL RFCs / RFC 9111
Read the RFC ↗
RFC 9111 / CACHE POLICY

Cache-Control directives

04

Directives separately control storage, validation, freshness, transformation, and shared-cache behavior.

Related RFCs and changes

“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.

RFC 9111 · § 5.2.2EXAMPLE
3 / 3
Cache-Control directivesThree alternative policies highlight the difference between permitted storage with required validation, forbidden storage, and a bounded freshness lifetime.Three different response policiesAlternatives shown separatelyno-cachestore → validate → reuseno-storedo not retain for reusemax-age=60fresh while current age < 60Other matching and reuse restrictions still applymax-age defines the freshness lifetime
03
Bound the lifetime.

This alternative policy provides a 60-second freshness lifetime, subject to other applicable constraints.

Protocol participantThreat or exceptionProtocol controlSimplified drawings · precise section references
WHAT CHANGED
RFC 7234 caching directivesRFC 9111 §5.2.2.3

RFC 9111 introduces must-understand. Appendix B also records that the Warning response field is obsolete; the main cache requirements still apply.

Read the updated RFC section ↗
KEY POINT

Read the exact directive rather than guessing from its name.

  • Unqualified no-cache permits storage but requires successful validation before reuse.
  • no-store normally prohibits storing the request/response data covered by the directive; max-age bounds freshness.
  • must-understand restricts storage to caches that understand the response status’s caching requirements; its specified behavior can override no-store.
DETAILS

no-store is not a complete privacy guarantee: it cannot erase copies already obtained or protect against malicious caches. The qualified no-cache form has field-specific rules; this example uses the unqualified form.

Read the RFC section ↗

Diagrams simplify the RFC. Read the linked sections for complete requirements.

Privacy
All chapters in this RFC
  1. Store and select a response
  2. Freshness and age
  3. Revalidate with 304
  4. Cache-Control directives
  5. Private and shared caches
  6. Stale responses and invalidation
RFC 9700 / CHAPTERS

Chapters

For full details, tables, algorithms, and exceptions, read the original RFC.

RFC status and corrections ↗