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

Private and shared caches

05

A browser cache serves one user. A shared cache can answer requests from many users and needs stricter safeguards.

Related RFCs and changes

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

RFC 9111 · § 5.2.2.7EXAMPLE
3 / 3
Private and shared cachesA private response stays in a single-user cache; the shared-cache branch is blocked. A separate public resource can serve multiple users when eligible.Personal answers need the right cachePrivate example, then separate public examplePublic resourceShared eligible copysingle-user boundarypublicorigin responseeligible sharingUser AUser Bpublic does not bypass freshness or request matchingA separate eligible public response can be shared
03
Reuse only a response eligible for sharing.

A public resource can be shared when key matching, freshness, authentication rules, and other conditions permit.

Protocol participantThreat or exceptionProtocol controlSimplified drawings · precise section references
KEY POINT

Do not turn a personalized response into a shared answer.

  • Unqualified private forbids shared storage but can permit storage in a private cache.
  • public can explicitly allow shared caching, including cases otherwise restricted by Authorization, but does not bypass all reuse conditions.
  • s-maxage sets a shared-cache lifetime, overrides max-age/Expires there, and includes proxy-revalidate behavior.
DETAILS

Authorization responses require the explicit permission described in §3.5. Vary and freshness still matter. A private directive controls storage; it is not encryption of the message.

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 ↗