Интегрированные сети ISDN


Определения полей заголовка - часть 35


Примеры значений byte-ranges-specifier (предполагается, что длина тела объекта равна 10000):

  • Первые 500 байтов (относительные позиции 0-499, включительно): bytes=0-499
  • Вторые 500 байтов (относительные позиции 500-999, включительно): bytes=500-999
  • Последние 500 байтов (относительные позиции 9500-9999, включительно): bytes=-500

или

bytes=9500-

  • Первые и последние байты (байты 0 и 9999): bytes=0-0,-1
  • Несколько легальных, но неканонических спецификаций вторых 500 байт (относительные позиции 500-999, включительно): bytes=500-600,601-999; bytes=500-700,601-999

13.36.2. Запросы получения фрагментов

Информационные запросы HTTP, использующие условные или безусловные методы GET могут заказывать один или более субфрагментов объекта, а не целый объект, используя заголовок запроса Range:

Range

= "Range" ":" ranges-specifier

Сервер может игнорировать заголовок Range. Однако исходные серверы HTTP/1.1 и промежуточные кэши должны поддерживать по возможности работу с фрагментами, так как Range поддерживает эффективное восстановление в случае частично неудачных пересылок больших объектов.

Если сервер поддерживает заголовки Range и специфицированный фрагмент или фрагменты подходят для данного объекта, то:

  • Присутствие заголовка Range в безусловном GET допускает модификацию того, что прислано. Другими словами отклик может содержать статусный код 206 (Partial Content) вместо 200 (OK).
  • Присутствие заголовка Range в условном GET (запрос использует If-Modified-Since, If-None-Match, If-Unmodified-Since и/или If-Match) модифицирует то, что прислано GET в случае успешного завершения при выполнении условия (TRUE). Это не влияет на отклик 304 (Not Modified), если условие не выполнено (FALSE).

В некоторых случаях более удобно использовать заголовок If-Range (см. раздел 13.27).

Если прокси, который поддерживает фрагменты, получает запрос Range, переадресует запрос внешнему серверу и получает в ответ весь объект, ему следует прислать запрашиваемый фрагмент клиенту.


Начало  Назад  Вперед