Клиент отправит заголовок Range
с указанием абсолютного начального и конечного байтов, за которым следует общая длина файла или '*'.
Примеры:
. The first 500 bytes:
bytes 0-499/1234
. The second 500 bytes:
bytes 500-999/1234
. All except for the first 500 bytes:
bytes 500-1233/1234
. The last 500 bytes:
bytes 734-1233/1234
Затем сервер долженвернуть код ответа 206
(Частичное содержимое), а Content-Length
должен быть только объемом передаваемых данных.
В случае неправильного диапазона сервер должен либо вернуть 416
(Запрошенный диапазонне удовлетворяется) с полем Content-Range
bytes */*
или должен игнорировать запрос диапазона и возвращать 200
со всем телом файла.
Сервер также должен отправить поле Accept-Ranges
сзначение принятой единицы измерения диапазона, в данном случае bytes
.Но единицей диапазона может быть любая произвольная единица измерения.
Источник: rfc2616