topic
Verified 2026-09-18

Cache-Control: immutable

Tells caches the response body will never change while fresh.

immutable suits fingerprinted assets (/app.a1b2c3.js) and skips conditional revalidation on reload. Never use it on URLs whose content can change.

httpcacheheaderdirectiveperformance

Reference (http)

Cache-Control: public, max-age=31536000, immutable

immutable suits fingerprinted assets (/app.a1b2c3.js) and skips conditional revalidation on reload. Never use it on URLs whose content can change.

Common mistakes

  • Using immutable on a non-fingerprinted URL; users then see stale content until max-age expires.
Permalink: https://merginit.com/reference/http/directive-immutable