Re: Byteranges with 206 partial content

> Based on the discussion during the past hours, it appears that a
> better way to do byte ranges is indeed via an additional header, and
> with a 206 partial content response code.
> 
> Doing it via a header will still make it work through existing
> proxies, and 206 status code will prevent them from caching it, unless
> they understand what's going on.
> 
> Roy, could you allocate 206 (or whatever) for Partial Content in HTTP,
> please?

I did this yesterday.  I have also defined

    Request-Range:  for specifying the desired range on a request

and

    Range: for specifying the actual range returned on the 206 response

Both headers use the syntax for Range given in Ari and John's current draft:

   The following HTTP response header is sent back to provide
   verification and information about the range and total size of the
   document:

        Range: bytes X-Y/Z

   where:

      X      is the number of the first byte returned (the first byte is
             byte number zero).

      Y      is the number of the last byte returned (in case of the end of
             the document this is one smaller than the size of the document
             in bytes).

      Z      is the total size of the document in bytes.

But, I haven't included the text yet, so now would be a good time to say
whether or not that syntax is acceptable.

> An additional feature is to say "give me a range if the document
> hasn't changed, but if it has, send me the entire document".  Similar
> to If-modified-since, but still quite different...  What would you
> call such a header?

If-Modified-Since   (for the current case)
Unless              (for the generic case)

> I will re-vamp a new version of the byterange draft reflecting these
> changes, and will submit it for review in http-wg shortly.

I am willing to proceed with this in the main HTTP/1.1 spec, since the
changes required are interwoven with the description of GET and caching.

However, I am not willing to support multiple ranges within a single
request at the current time, so no multipart/x-byteranges.

 ...Roy T. Fielding
    Department of Information & Computer Science    (fielding@ics.uci.edu)
    University of California, Irvine, CA 92717-3425    fax:+1(714)824-4056
    http://www.ics.uci.edu/~fielding/

Received on Monday, 13 November 1995 17:49:20 UTC