Accept-Encoding selects identity or encoded representations. The two byte-distinct variants carry different schematic strong ETags, A and B. Vary: Accept-Encoding tells shared caches to match the negotiated request field.

Compression changes the selected HTTP representation

Test compressed and uncompressed requests separately so caches and validators describe the bytes actually served.

June 29, 2026 · 2 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