Диапазоны байтов HTTP и альтернативы multipart/byteranges?

RFC2616 (HTTP/1.1):

Ответ на запрос одного диапазона НЕ ДОЛЖЕН быть отправлен с использованием типа носителя multipart/byteranges.

Ответ на запрос нескольких диапазонов, результатом которого является один диапазон, МОЖЕТ быть отправлен как медиа-тип multipart/byteranges с одной частью.

Клиент, который не может декодировать сообщение, состоящее из нескольких частей/диапазонов байтов, НЕ ДОЛЖЕН запрашивать несколько диапазонов байтов в одном запросе.

Если я правильно понимаю, несколько диапазонов в одном запросе МОГУТ использовать multipart/byteranges, и клиенты ДОЛЖНЫ иметь возможность декодировать его или вообще не запрашивать.

Означает ли «МОЖЕТ» наличие альтернативы multipart/byteranges, которые можно было бы использовать? Существуют ли какие-либо? Если да, то есть ли заголовки для их запроса?

Например, может ли сервер объединить все диапазоны байтов в один ответ?


person George Helyar    schedule 10.10.2013    source источник


Ответы (2)


Если запрос запрашивает несколько диапазонов, и сервер может объединить запрошенные диапазоны в один непрерывный диапазон, то ответ может:

  • используйте multipart/byteranges с одной частью MIME для объединенного диапазона, где часть имеет свой собственный заголовок Content-Range.

  • отправлять конкатенированные данные отдельно и включать заголовок Content-Range верхнего уровня.

person Remy Lebeau    schedule 07.01.2014

Что касается моего опыта еще в 2012 году, я бы рекомендовал придерживаться первого, то есть «Ответ на запрос одного диапазона НЕ ДОЛЖЕН отправляться с использованием типа носителя multipart/byteranges». потому что некоторые клиенты задохнутся.

person Marc K.    schedule 07.01.2014