2009-04-04 4 views

ответ

67
Range

используется в запросе, чтобы задать для конкретного диапазона (или диапазонов) байтов. В ответе используется Content-Range, чтобы указать, какие байты сервер дает вам (что может отличаться от запрошенного диапазона), а также как долго весь контент (если известен).

+7

Прочтите btimby ниже. –

+2

@BrunoMartinez Хотя вы можете использовать Content-Range в запросе, было довольно ясно, что OP задавал вопрос о загрузке контента с определенным диапазоном. Я отвечал на основании того, что спрашивал OP, не пытаясь дать исчерпывающее описание каждого случая, в котором может использоваться Content-Range. –

+3

@BrianCampbell, вы, конечно, правы. Я просто хотел записать свои результаты ради потомков. Я отредактировал свой ответ, чтобы убедиться, что у вас нет впечатления, что ваш ответ никоим образом не прав. – btimby

113

Собственно, принятый ответ не является полным. Content-Range используется не только в ответах. Он также является законным в запросах, которые предоставляют орган организации.

Например, HTTP PUT предоставляет тело сущности, он может содержать только часть объекта. Таким образом, запрос PUT может включать заголовок Content-Range, указывающий серверу, где тело частичного объекта должно быть объединено с объектом.

Например, давайте сначала создать, а затем добавить в файл, используя HTTP:

Запрос 1:

PUT /file HTTP/1.1 
Host: server 
Content-Length: 1 

a 

Запрос 2:

PUT /file HTTP/1.1 
Host: server 
Content-Range: 1-2/* 
Content-Length: 1 

a 

Как, давайте посмотрим, содержимое файла ...

Запрос 3:

GET /file HTTP/1.1 
Host: server 

HTTP/1.1 200 OK 
Content-Length: 2 

aa 

Это позволяет использовать произвольный доступ к файлам, как READING, так и WRITING через HTTP. Я просто хотел уточнить, поскольку я изучал использование Content-Range в клиенте WebDAV, который я разрабатываю, поэтому, возможно, эта расширенная информация окажется полезной для кого-то еще.

+6

Контент-диапазон не является законным в запросах. –

+10

Этот комментарий неверен. RFC2616 (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.16) не ограничивает заголовок «Content-Range» запросами, а связывает его с «частичным сущностью», , На самом деле очень часто используется эта функция для облегчения загрузки резюме или загрузки. – Hank

+1

Комментарий Марка верен. См. Http://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-23, раздел 4.3.4. – grzes

Смежные вопросы