# Accept-Ranges Header — Syntax, Values & Examples

> 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.

- Type: Response header
- Category: Content
- Defined in: [RFC 9110 §14.3 — Accept-Ranges](https://www.rfc-editor.org/rfc/rfc9110.html#section-14.3)

## Syntax

```http
Accept-Ranges: bytes | none
```

## Examples

```http
Accept-Ranges: bytes
```

byte ranges supported

```http
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.

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

## FAQ

### 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

- [206 Partial Content](https://www.devkult.com/http/206.md)

## Related headers

- [Range](https://www.devkult.com/headers/range.md): Asks for only part of a resource — how downloads resume and how video seeks.
- [Content-Length](https://www.devkult.com/headers/content-length.md): The size of the message body in bytes.
- [Content-Encoding](https://www.devkult.com/headers/content-encoding.md): Says how the body was compressed — gzip, Brotli or zstd — so the client can decompress it.

Open the interactive page: https://www.devkult.com/headers/accept-ranges