A cache sends a GET with If-None-Match and illustrative tag W/"release-a" to the origin. A matching response returns 304 so the cache can reuse its stored body; a changed representation returns 200 with a body.

Validators decide whether a cached copy is still the answer

Conditionals are the cache’s second clock; a 304 means the stored copy is still the answer.

June 30, 2026 · 3 min · XB Field Notes
A matrix distinguishes no-cache, which permits storage but requires validation before reuse, from no-store, which asks caches not to store the response.

Cache headers are a contract with two clocks

Separate browser freshness from origin validation, then verify the response headers that implement both.

June 25, 2026 · 3 min · XB Field Notes