Subject: combining ranges

From: Doug Moore <[email-masked]>
Date: Sat, 24 May 2008 22:06:55 +0000

The spec says:

"When an HTTP message includes the content of a single
range (for example, a response to a request for a
single range, or to a request for a set of ranges that
overlap without any holes), this content is
transmitted with a Content-Range header, and a
Content-Length header showing the number of bytes
actually transferred. "

and also says:

"When a client requests multiple byte-ranges in one
request, the server SHOULD return them in the order
that they appeared in the request."

So, then, what does 'overlap' mean, and specifically,
if a request arrives for (in this order) ranges
300-399, 200-299 and 100-199, can these be said to
overlap, and thus be combined, or must order be
preserved, and a multirange response delivered?

I can tell you that there are clients out there that
demand the multirange response.  Are they broken?

Doug Moore

---

From: "Brian Smith" <[email-masked]>
Date: Fri, 30 May 2008 11:47:04 -0700

> demand the multirange response.  Are they broken?

Those ranges do not overlap. 

> that they appeared in the request."

Yes. The server SHOULD do it but that is different than saying the server
MUST do it. Clients need to apply the robustness principle here; they should
accept the data in any order and with any coalescing that the server chooses
to do, overlapping or not.

Regards,
Brian