byte-range-request · shipping · also HTTP range request, HTTP byte-range request

Byte-range request

A byte-range request asks an HTTP server to return selected byte intervals of a representation instead of its complete content.

Related Observatory article: Byte-range request on hesela.com

Offsets start at zero and include both endpoints; bytes=0-9 requests ten bytes. Ranges address the encoded representation when content coding is applied. Keep representation identity separate from range coverage and checksum verification.

Relations

related
Entity tag, Object version ID, Object storage, Full-object checksum

Advantages

  • Range requests can retrieve selected object bytes or resume an interrupted transfer. [1, 2]

Limitations

  • A server can ignore Range and return 200; do not append that full response as a missing fragment. [1]
  • If-Range cannot use a weak ETag; a failed comparison makes the server ignore Range, unlike a failed If-Match precondition. Use an HTTP-date only when no ETag is available and the date qualifies as a strong validator. [1]
  • S3 GetObject supports one range per request; use its documented versionId or If-Match controls rather than assuming If-Range support. [2]
  • Decompressive transcoding can turn a range request into an entire object transfer; a checksum of the complete stored object does not validate a selected or decoded interval. [4, 5]
  • Pinning a stored data generation does not freeze editable metadata; when metadata controls the representation, bind its revision too and check each response's coding before assembly. [5, 6]

Citations

  1. RFC 9110: If-Range and range requests, sections 13.1.5 and 14 (accessed 2026-10-23)
  2. Amazon S3 API: GetObject, Range, If-Match and versionId (accessed 2026-10-23)
  3. Google Cloud Storage: gzip transcoding and Range behavior (accessed 2026-10-23)
  4. Google Cloud Storage XML API: object download and checksum coverage (accessed 2026-10-23)
  5. Google Cloud Storage: editable metadata, generation and metageneration (accessed 2026-10-24)

Further reading

  1. Object ETags: checksums and conditional writes are different (accessed 2026-10-23)
Sources & caveats
  • The transcoding example is specific to Google Cloud Storage; the checksum coverage statement uses its XML API. [4] [5]
  • The generation/metageneration distinction is specific to Google Cloud Storage; its XML download API exposes x-goog-if-metageneration-match. [5] [6]

JSON: /data/terms/byte-range-request.json

Published by Hesela team · Updated

Report a correction · Editorial standards · Reuse guidance

Cite this page
Hesela team. Byte-range request. Hesela. 2026-10-24. https://hesela.dev/terms/byte-range-request/