Range

Заголовок запроса Range указывает серверу какую часть документа ему необходимо вернуть. Несколько частей документа может быть запрошено с помощью заголовка Range за один раз, и сервер может вернуть все эти части через многокомпонентный документ. При отправке данных отдельными частями, сервер использует код ответа 206 Partial Content. Если запрашиваемые диапазоны данных не верны, сервер возвращает ошибку 416 Range Not Satisfiable. Сервер так же может проигнорировать заголовок Range и вернуть документ целиком с кодом ответа 200.

Тип заголовка Request header
Forbidden header name нет

Синтаксис

Range: <единица>=<начало-диапазона>-
Range: <единица>=<начало-диапазона>-<конец-диапазона>
Range: <единица>=<начало-диапазона>-<конец-диапазона>, <начало-диапазона>-<конец-диапазона>
Range: <единица>=<начало-диапазона>-<конец-диапазона>, <начало-диапазона>-<конец-диапазона>, <начало-диапазона>-<конец-диапазона>
Range: <единица>=-<длина-с-конца>

Директивы

<единица>

Единица, в которой указывается запрашиваемый диапазон. Обычно объявляется, как bytes.

<начало-диапазона>

Число, в указанных единицах, являющееся началом запрашиваемого диапазона.

<конец-диапазона>

Число, в указанных единицах, являющееся концом запрашиваемого диапазона. Это значение не является обязательным и, если его не определять, концом диапазона будет считаться конец документа.

<длина-с-конца>

Количество единиц документа, которые необходимо вернуть серверу, начиная с конца документа.

Примеры

Запрашивание трёх диапазонов байтов из одного файла.

Range: bytes=200-1000, 2000-6576, 19000-

Запрашивание первых 500 и последних 500 байтов из файла. Запрос может быть отклонён сервером в связи с перекрывающимися диапазонами.

Range: bytes=0-499, -500

Спецификации

Спецификация Заголовок
RFC 7233, раздел 3.1: Range Hypertext Transfer Protocol (HTTP/1.1): Range Requests

Совместимость с браузерами

BCD tables only load in the browser

Смотрите также