You are reading documentation for bouine v0.4.x — not the latest version. View latest →

X-Cache

Indicates how the response was served.

ValueDescription
HITServed from cache (fresh)
MISSFetched from origin and cached
STALEServed from cache (stale, within stale-while-revalidate or stale-if-error window)
BYPASSCache bypassed (no-store, no-cache, or cache disabled for route)
REVALIDATEDConditional request to origin returned 304, served from cache with updated freshness
curl -sI http://localhost:8080/get | grep x-cache
# X-Cache: HIT

Age

The age of the cached object in seconds, calculated as the time since the Date header of the original response plus any time spent in upstream forward proxies. Updated on every cache hit.

curl -sI http://localhost:8080/get | grep age
# Age: 42

X-Cache-Source

Indicates which storage tier served the response.

ValueDescription
hotServed from the in-RAM hot tier (L0)
warmServed from the mmap-backed warm tier (L1)
peerServed from a cluster peer via peer fetch
originFetched from the upstream origin
(empty)Not served from any storage tier (BYPASS or only-if-cached 504)

X-Bouine-Route

The route label that matched the request. Set by the router on every data-plane request. Used by Prometheus metrics (route label) and the dashboard for per-route attribution. The header is stripped before proxying to the upstream to prevent origin-side cardinality bombs.

Warning: 110

Set to 110 - "Response is stale" on stale responses served within the stale-while-revalidate or stale-if-error window, per RFC 9111 section 5.5.