The proposal in general sounds pretty reasonable to me. It's not unlike
fragment proposals submitted for other applications (eg, Z39.50), but
I think the timing and especially the simplicity of this one favors it.
> The following HTTP response header is sent back to provide
> verification and information about the range and total size of the file:
> Range: bytes X-Y/Z
Without getting much more complicated, you might want to handle the case
when the server doesn't know the size, as when a file is growing.
Multiple ranges make me a little squeamish because you have to think about
packaging ranges in the (single) response. For example, do you concatenate
all the returned ranges, and let the client count bytes to figure out where
range boundaries are? (Things get weird fast when you move beyond bytes
into, say, paragraphs.)
If you stick with multiple ranges you might let the server be pig-headed
about them and return them in the order that's most convenient. Good taste
dictates that it will do what's requested, but offers protection from some
pathological cases. Reliability can be assured if the header reports back
to the client what the server ended up doing.
John A. Kunze 510-642-1530
Information Systems and Technology Fax: 510-643-5385
293 Evans Hall Internet: firstname.lastname@example.org
Berkeley, CA 94720 or email@example.com