Visual RFC.
ALL RFCs / RFC 8246
Read the RFC ↗
RFC 8246 / IMMUTABLE HTTP RESPONSES

Read the response directive

03

Immutable is a Cache-Control response extension with no meaningful arguments; putting it in a request has no effect.

RFC 8246 · § 2EXAMPLE
3 / 3
Read the response directiveThe canonical response has Cache-Control max-age 31536000 and immutable. A second response example has immutable=example and another immutable; the meaningless argument is ignored and the flags mean one. A separate request containing immutable has no effect. max-age remains independent and the response duration is an example, not required.Read the directive in its proper contextSeparate request exampleCache-Control:immutableinfer an origin promiseNo effect from immutable in a requestNo new lifetime or server guarantee
03
Do not treat a request as the origin’s promise.

A request containing Cache-Control: immutable has no effect from that extension. It is not a response and does not establish freshness.

Source for this drawing: RFC 8246 · Read RFC section 2 ↗

Protocol participantThreat or exceptionProtocol controlSimplified drawings · precise section references
New to this? Start hereA quick picture + helpful background

A message needs an address.

Think of a packet as a small addressed envelope. Devices pass it onward; transport protocols decide what delivery promises an application gets.

Helpful first, if these ideas are unfamiliar

These pictures are analogies to help you learn. The linked RFC explains the actual rules.

Terms in this drawing
Cache-Control
The HTTP field carrying cache directives.
Directive
One instruction or extension within Cache-Control.
Related RFCs and changes

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

KEY POINT

Immutable is a response promise, not a requested guarantee.

  • The RFC example is Cache-Control: max-age=31536000, immutable. The freshness lifetime comes from max-age, not from immutable itself.
  • The extension takes no arguments. Any arguments have no meaning and MUST be ignored. Multiple instances are equivalent to one instance.
  • An immutable directive in a request has no effect. It cannot force a server to make mutable content immutable or grant a new freshness lifetime.
DETAILS

Only arguments to immutable are ignored; do not discard unrelated Cache-Control directives. The 31536000 second value is the RFC example, not a required duration. The illustrative extra argument example is not recommended authoring. A cache that does not understand an extension follows normal extension handling; no universal support is promised.

Read the RFC section ↗

All chapters in RFC 8246

Drawing view

Scroll the drawing to see every part. Playback controls stay above it.

RFC 9700 / CHAPTERS

Chapters

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

RFC status and corrections ↗