Я изучаю тот же предмет, что и диапазоны Accept-Ranges & Диапазоны заголовков кажутся хорошими кандидатами для передачи данных подкачки.
В HTTP1.1 спецификации говорится:
диапазона единица = байт-блок | другой дальности-блок
, который предполагает, что вы можете использовать свои собственные типы юнитов, но продолжает говорить
Единственный блок диапазон, определенный HTTP/1.1 байт. Реализации HTTP/1.1 МОГУТ игнорировать диапазоны, заданные с использованием других устройств.
Несмотря на то что единственным поддерживаемым диапазоном является байт, оператор подчеркивает, что HTTP 1.1 МОЖЕТ (не должен) игнорировать диапазоны в других единицах - так, возможно, это зависит от вас?
Но заголовки HTTP содержат данные, относящиеся к телу сообщения, а не то, что представляет собой тело сообщения, поэтому только поддержка байтовых единиц имеет смысл, поскольку диапазон байтов может применяться к телу сообщения независимо от того, какой ресурс он представляет. В то время как диапазон дат представляет собой диапазон, основанный на контексте, и применим только в определенных ситуациях.
Как вы упомянули в своем вопросе способ реализовать диапазон дат будет поставлять обычай Accept-Ranges заголовка в ответ на запрос HEAD, или OPTIONS для этого URL, а затем передать Range заголовка с любые запросы GET по тому же адресу
Я думаю, что разработчик должен ли использовать его таким образом, но для меня отверстие слишком круто для этой квадратной привязки! Передайте значения в строке запроса.
Ссылка:
3.12 Range Units
HTTP/1.1 allows a client to request that only part (a range of) the response entity be included within the response. HTTP/1.1 uses range units in the Range (section 14.35) and Content-Range (section 14.16) header fields. An entity can be broken down into subranges according to various structural units.
range-unit = bytes-unit | *other-range-unit*
bytes-unit = "bytes"
other-range-unit = token
The only range unit defined by HTTP/1.1 is "bytes". HTTP/1.1 implementations MAY ignore ranges specified using other units.
HTTP/1.1 has been designed to allow implementations of applications that do not depend on knowledge of ranges.
http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.12
Вы действительно должны перестать смотреть на RFC 2616; мы по какой-то причине работаем над http://greenbytes.de/tech/webdav/draft-ietf-httpbis-p5-range-21.html. –