Server Cache for Prerendered HTML
The Full Route Cache
Static routes are stored as HTML and RSC payload at build time. This cache is what makes static pages cheap and instant.
What you'll learn
- Know that static = lives in the Full Route Cache
- Revalidate to update it
- Understand that a new deploy clears it entirely
The Full Route Cache is where prerendered routes live on the server. Anything next build
produces with the static (○) or ISR (◐) symbol is stored here.
What It Stores
Two artifacts per static route:
- The HTML payload — what an HTTP request gets
- The RSC payload — what a client-side navigation gets
Both come from the same render, so server and client navigations stay in sync.
When It Updates
- On
next build— every static route is regenerated - When ISR’s
revalidatetimer expires and a request comes in - When
revalidatePathorrevalidateTaginvalidates an entry - On a new deployment — the cache is replaced wholesale
It Composes With the Data Cache
A static page’s fetch results are stored in the Data Cache. Those results feed into the
prerender that lives in the Full Route Cache. If you revalidateTag('posts'), the Data
Cache entries with that tag are dropped — and the next request to any page that depends
on them re-runs the render and refreshes the Full Route Cache.
Why It Matters
Understanding the Full Route Cache is what makes Next’s caching feel less mysterious. Most “why is my page stale?” questions trace back to it: the data updated, but the prerendered HTML has not been invalidated yet.
Request Memoization →