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

Publish changes under a new URL

01

A versioned resource keeps its old URL stable; a changed resource receives a new URL and updated references.

RFC 8246 · § 1EXAMPLE
3 / 3
Publish changes under a new URLA page initially references assets/v1.css with blue styles. A separate v2.css resource is published with green styles while v1 stays unchanged. The updated page references v2; old cached v1 does not silently change. Version labels and CSS are illustrative; neither permanent immutability nor hash-based integrity is implied.A changed resource gets a new addressHTML page/assets/v1.cssbody {color: blue}/assets/v2.cssbody {color: green}updated linkNew page reference → separate v2 responseAn old cached v1 never turns into v2
03
Update the page reference.

A newly updated page points to v2. A client following that new reference obtains v2 separately; a cached v1 does not turn into v2.

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

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
Representation
The response content and metadata for a resource.
Versioned URL
An address that distinguishes one published resource version.
Related RFCs and changes

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

KEY POINT

A new version has a new address.

  • Ordinary freshness permits cache reuse for a time; it does not promise that the origin has not changed the resource meanwhile.
  • With versioned URLs, a publisher puts changed content at a new address and updates references. This pattern can support long freshness lifetimes.
  • The immutable response directive communicates that the origin will not update this representation during its freshness lifetime. It does not mean that a website can never change.
DETAILS

The version labels v1/v2 and CSS bodies here are illustrative, not a required URL naming or content-hash scheme. Immutability is a server promise, not a content-integrity check. Existing references and cached responses do not magically switch to a new URL.

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 ↗