← Voltar ao feed
low

Cloudflare launches Origin Range Requests, replacing per-zone range-size tuning with chunk-aligned range caching

1 fonte(s) · 1 atualização(ões) · publicado 23/10/2026 15:22 · coletado há 1 semana

Cloudflare has made Origin Range Requests available on all plans. The feature replaces the old nginx-style cache-slicing configuration, where customers set a per-zone range size. The old design could make a small client request trigger a pull of up to 128 MiB from the origin and move it between data centers. The new implementation, built on Pingora, aligns origin fetches to the cache's existing fixed-size on-disk chunks and returns only the bytes the client requested. Cloudflare reports that p99 time to first byte for R2 dropped by about half and that a follow-up change cut tiered cache traffic for R2 and similar workloads by about 6%. This is product and engineering news with no vulnerability or threat activity.

Detalhes técnicos

  • A coordinator checks which requested bytes are already cached, reads them from disk or in-memory streaming, fetches missing coverage from the origin as chunk-aligned ranges, records completed ranges in metadata, and composes the response with correct Content-Range and Content-Length.
  • A second request can attach to an in-flight download that covers its bytes instead of starting another origin fetch.
  • Before composing, it validates that each origin response matches the requested range, that the total asset size is stable and that the entity tag is consistent across subrequests. If-Range mismatches return the full representation.
  • Ranges are not composed for representations about to be decompressed. Cloudflare serves the full transformed response instead.
  • Responses follow standard HTTP: 206 Partial Content for satisfiable ranges, 416 Range Not Satisfiable for unsatisfiable ones, and the full representation when ranging is unsafe.
  • Requests smaller than a chunk can still fetch the whole chunk, but the extra work is bounded and predictable.
  • The old design had known problems. The range size was part of the cache key, concurrent requests in the same range blocked each other, and range caching could not be combined with concurrent streaming.
  • The feature does not change cache eligibility, and the origin must support byte ranges for partial fetches to help.

Remediação

No remediation is required. To enable the feature, create a Cache Rule matching large-file traffic and set Origin Range Requests to On. This can be done under Caching > Cache Rules in the dashboard or via the API with origin_range_requests: { "mode": "on" }.

Linha do tempo

  1. blog.cloudflare.com ↗ · pub. 23/10/2026 15:22 · coletado 23/10 16:00 primeiro registro

    Cloudflare launches Origin Range Requests, replacing per-zone range-size tuning with chunk-aligned range caching

    ler a análise desta fonte

    Cloudflare has made Origin Range Requests available on all plans. The feature replaces the old nginx-style cache-slicing configuration, where customers set a per-zone range size. The old design could make a small client request trigger a pull of up to 128 MiB from the origin and move it between data centers. The new implementation, built on Pingora, aligns origin fetches to the cache's existing fixed-size on-disk chunks and returns only the bytes the client requested. Cloudflare reports that p99 time to first byte for R2 dropped by about half and that a follow-up change cut tiered cache traffic for R2 and similar workloads by about 6%. This is product and engineering news with no vulnerability or threat activity.

    Technical Details

    • A coordinator checks which requested bytes are already cached, reads them from disk or in-memory streaming, fetches missing coverage from the origin as chunk-aligned ranges, records completed ranges in metadata, and composes the response with correct Content-Range and Content-Length.
    • A second request can attach to an in-flight download that covers its bytes instead of starting another origin fetch.
    • Before composing, it validates that each origin response matches the requested range, that the total asset size is stable and that the entity tag is consistent across subrequests. If-Range mismatches return the full representation.
    • Ranges are not composed for representations about to be decompressed. Cloudflare serves the full transformed response instead.
    • Responses follow standard HTTP: 206 Partial Content for satisfiable ranges, 416 Range Not Satisfiable for unsatisfiable ones, and the full representation when ranging is unsafe.
    • Requests smaller than a chunk can still fetch the whole chunk, but the extra work is bounded and predictable.
    • The old design had known problems. The range size was part of the cache key, concurrent requests in the same range blocked each other, and range caching could not be combined with concurrent streaming.
    • The feature does not change cache eligibility, and the origin must support byte ranges for partial fetches to help.

    Remediation

    No remediation is required. To enable the feature, create a Cache Rule matching large-file traffic and set Origin Range Requests to On. This can be done under Caching > Cache Rules in the dashboard or via the API with origin_range_requests: { "mode": "on" }.