RFC: 2068
Оригинал: Hypertext Transfer Protocol - HTTP/1.1
Другие версии: RFC 2616
Категория: Предложенный стандарт
Дата публикации:
Авторы: , , , ,
Перевод: Алексей Симонов

14.27. If-Range

Если клиент имеет частичную копию объекта в его кэше, и желает иметь современную копию всего объекта в его кэше, он мог использовать заголовок запроса Range с условным GET (или, используя или, используя оба из If-Unmodified-Since и If-Match). Однако, если условие терпит неудачу, потому что объект был изменен, клиент должен будет тогда сделать второй запрос, чтобы получить все текущее тело объекта.

Заголовок If-Range позволяет клиенту "короткому замыканию" второй запрос. Неофициально, его значение, «если объект неизменен, отправьте мне часть (и), которую я пропускаю; иначе, отправьте мне весь новый объект».

If-Range = "If-Range" ":" ( entity-tag | HTTP-date )

Если клиент не имеет никакого тэга объекта для объекта, но действительно имеет дату LastModified, он может использовать ту дату в заголовке If-Range. (Сервер может различить правильный HTTP-date и любую форму entity-tag, исследуя не больше, чем два символа). заголовок If-Range должен только использоваться вместе с заголовком Range, и должен быть проигнорирован, если запрос не включает заголовок Range, или если сервер не поддерживает операцию поддиапазона.

Если тэг объекта, данный в заголовке If-Range, соответствует текущему тэгу объекта для объекта, то сервер должен предоставить указанный поддиапазон объекта, используя 206 (Partial content) ответ. Если тэг объекта не соответствует, то сервер должен возвратить весь объект, используя 200 (OK) ответ.

2007 - 2017 © Русские переводы RFC, IETF, ISOC.