devkult_
tools29converters34
home/headers/accept-ranges

Accept-Ranges

response headercontent

Tells clients the server supports byte-range requests on this resource.

Accept-Ranges: bytes advertises that a client may use the Range header on this resource. Static file servers, CDNs and object stores send it automatically. none says partial requests aren't supported, so clients don't try.

Syntax

Accept-Ranges: bytes | none

Defined in RFC 9110 §14.3 — Accept-Ranges.

Examples

Accept-Ranges: bytes

byte ranges supported

Accept-Ranges: none

no partial requests

Good to know

  • Responses generated on the fly usually can't support ranges, so servers leave the header off.
  • Clients may try a Range request even without it; a 200 response means the server ignored the range.

Who sets Accept-Ranges

Static file servers (nginx, Apache, express.static), CDNs and object storage send Accept-Ranges and handle ranges for you. Check with curl -sI https://example.com/video.mp4 | grep -i accept-ranges, then curl -s -r 0-99 -o /dev/null -w '%{http_code}' https://example.com/video.mp4 — 206 means ranges work.

Check it

Fetch only the response headers and filter for Accept-Ranges. In the browser, it's under Response Headers in DevTools → Network.

curl -sI https://example.com/ | grep -i '^accept-ranges:'

To compare response headers across many URLs at once, use the HTTP Status Checker.

Frequently asked questions

Do I need Accept-Ranges for video?

In practice, range support is required: browsers seek by requesting byte ranges, and Safari won't play media from servers that don't support them.

Status codes it appears with
Related headers