Accept-Ranges

The Accept-Ranges response header advertises which Range units a resource supports.

Standard response

Accept-Ranges: selector, bytes

Present on every response for an HTML resource, whether or not the request itself used a Range header. OPTIONS responses advertise just Accept-Ranges: selector (see OPTIONS method).

entries ranging works on Range requests — the platform accepts and answers it correctly — but it is not advertised in Accept-Ranges. If your client hard-codes Range: selector=... or Range: entries=... rather than deriving support from Accept-Ranges, this doesn't affect you. See Reading and writing for what each unit does.

There is no range unit for evaluating an expression. One existed once (sessel=) and was removed; sending it now does nothing at all, because an unrecognised range unit is ignored and you get the whole resource back.

Known issue: some CDNs narrow this header further

Known issue: Pagelove is currently served through Microsoft Azure Front Door, which rewrites Accept-Ranges on the way through — replacing selector, bytes with just bytes, the only unit AFD itself understands. Range: selector=... requests still work end-to-end and the response you get back is correct; only header-based discovery is affected, in the same way and for the same reason as the entries gap above. There is currently no workaround at the CDN layer.

See also