Skip to content

Commit 2795fe6

Browse files
authored
Changelog bypass uncacheable responses (#31076)
* [Cache] Add changelog for BYPASS status on uncacheable responses * [Cache] Clarify previous behavior, drop get started section * [Cache] Link Origin Cache Control to its definition * [Cache] Correct OCC scope and clarify browser TTL preservation per-cause
1 parent e6461a0 commit 2795fe6

1 file changed

Lines changed: 34 additions & 0 deletions

File tree

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
---
2+
title: BYPASS status now returned for uncacheable responses
3+
description: Responses that Cloudflare chooses not to cache now consistently return a BYPASS cache status instead of a mix of BYPASS and MISS, giving you a clearer signal in logs and more accurate cache hit ratios in analytics.
4+
products:
5+
- cache
6+
date: 2026-05-26
7+
---
8+
9+
Cloudflare now returns a `BYPASS` [cache status](/cache/concepts/cache-responses/) whenever a response is not cacheable, instead of the previous mix of `BYPASS` and `MISS` that depended on why Cloudflare chose not to cache the response.
10+
11+
There are multiple reasons Cloudflare may refuse to cache a response — for example, the response exceeds the [maximum cacheable file size](/cache/concepts/default-cache-behavior/#cacheable-size-limits) for your plan, the origin sends `Cache-Control: no-cache`, `private`, or `max-age=0`, the response includes a `Set-Cookie` header, or the request includes an `Authorization` header.
12+
13+
Previously, only some of these conditions returned `BYPASS`. Others — such as responses exceeding the maximum cacheable file size — returned `MISS` on every request, regardless of whether [Origin Cache Control](/cache/concepts/cache-control/#origin-cache-control-behavior) was on or off. Because the response could never be cached, every subsequent request also returned `MISS`, which looked indistinguishable from a broken cache and made it hard to tell whether Cloudflare was trying and failing to cache the asset or had deliberately chosen not to cache it.
14+
15+
`BYPASS` now consistently signals that Cloudflare refused to cache the response, regardless of the reason. `MISS` is reserved for cacheable responses that simply were not in the local cache at request time.
16+
17+
## What to expect in your analytics
18+
19+
After this change rolls out, you should see:
20+
21+
- **MISS rate decreases**: Uncacheable responses no longer count as cache misses.
22+
- **BYPASS rate increases**: These same responses are now reported as bypasses.
23+
- **Cache hit ratio increases**: Hit ratio calculations no longer include uncacheable traffic that could never have been cached, giving you a more accurate view of cache effectiveness.
24+
25+
Your total request volume and origin traffic are unchanged — only the cache status label is different.
26+
27+
## Browser cache TTL behavior is preserved
28+
29+
The cache status label is the only thing changing — browser cache TTL handling for any given response is identical to what it was before:
30+
31+
- Responses that historically returned `MISS` because Cloudflare refused to cache them (for example, responses over the maximum cacheable file size) now return `BYPASS`, but continue to have browser cache TTL applied — exactly as they did when they were labeled `MISS`.
32+
- Responses that historically returned `BYPASS` and skipped browser cache TTL continue to skip browser cache TTL.
33+
34+
In both cases, the decision to apply browser cache TTL depends on the underlying reason Cloudflare did not cache the response, not on the new `BYPASS` label.

0 commit comments

Comments
 (0)