INTEGRITY Cloudflare Docs

Default cache behavior

Cloudflare respects the origin web server’s cache headers in the following order unless an Edge Cache TTL cache rule overrides the headers. Refer to the Edge TTL section for details on default TTL behavior.

When Origin Cache Control is enabled on an Enterprise customer’s website, it indicates that Cloudflare should strictly respect Cache-Control directives received from the origin server. Free, Pro and Business customers have this feature enabled by default. For a list of directives and behaviors when Origin Cache-Control is enabled or disabled, refer to Cache-Control directives.

Client side range requests

Clients can send range requests to be served from the cache using the Range header. Note that:

Request collapsing

When multiple requests arrive simultaneously at a single Cloudflare data center for the same asset that is not in cache (a cache miss), Cloudflare uses a cache lock to avoid sending duplicate requests to your origin. Only the first request is forwarded to the origin to fetch the asset. The remaining requests wait for the first request to complete, after which the response is streamed to all waiting requests.

The cache lock ensures that Cloudflare only sends one request at a time to the origin for a given asset from a single location in Cloudflare's network, preventing the origin from receiving excessive traffic.

Default cached file extensions

Cloudflare only caches based on file extension and not by MIME type. The Cloudflare CDN does not cache HTML or JSON by default. Additionally, by default Cloudflare caches a website's robots.txt.

7Z CSV GIF MIDI PNG TIF ZIP
AVI DOC GZ MKV PPT TIFF ZST
AVIF DOCX ICO MP3 PPTX TTF
APK DMG ISO MP4 PS WEBM
BIN EJS JAR OGG RAR WEBP
BMP EOT JPG OTF SVG WOFF
BZ2 EPS JPEG PDF SVGZ WOFF2
CLASS EXE JS PICT SWF XLS
CSS FLAC MID PLS TAR XLSX

To cache additional content, refer to Cache Rules to create a rule to cache everything.

Edge TTL

By default, Cloudflare caches certain HTTP response codes with the following Edge Cache TTL when a cache-control directive or expires response header are not present.

HTTP status code Default TTL
200, 206, 301 120m
302, 303 20m
404, 410 3m

All other status codes are not cached by default.

Customization options and limits

Cloudflare’s CDN provides several cache customization options:

Go to Cache Rules ↗ Go to Configuration ↗

Upload limits

Free Pro Business Enterprise
Availability Yes Yes Yes Yes
Max upload size 100 MB 100 MB 200 MB 500+ MB

Customers can reduce the Maximum Upload Size from the zone's Network page.

If you require a larger upload, you can group requests into smaller chunks, upload the full resource through a DNS-only (unproxied) DNS record or upgrade your plan.

Cacheable size limits

Cloudflare cacheable file limits:

When does Cloudflare cache successfully?

The connection status between visitors and Cloudflare can vary, affecting whether Cloudflare caches the content or not. If Cloudflare has already established a connection to the origin and started fetching the content, it will continue to retrieve and cache the entire content, even if the visitor disconnects midway. However, if a visitor disconnects before the origin responds to Cloudflare's request, no content will have been fetched yet, so Cloudflare will not start caching the content.