- From: Mark Nottingham <mnot@mnot.net>
- Date: Mon, 28 Jul 2008 13:59:06 +0100
- To: HTTP Working Group <ietf-http-wg@w3.org>
Issue 85 <http://tools.ietf.org/wg/httpbis/trac/ticket/85> asks us to
clarify what content-range unit extensions (i.e., things other than
"bytes") are, or get rid of them.
Julian has pointed out that there's at least one other one existent
today (although not formally specified); see <http://msdn.microsoft.com/en-us/magazine/cc301869.aspx
>.
I think the right thing to do here is to document how they're to be
extended (most likely in section 3 of p5).
Straw-man proposal (not exact text):
Range-unit extensions SHOULD NOT be specific to any format. This is
because caches are allowed to combine ranges from multiple responses,
and to serve range requests out of cache; format-specific range units
make it less likely that implementations will be able to do this
(although there may be exceptions, hence the SHOULD NOT). An
informational reference to p6 to highlight this to potential extenders
would be a good idea.
We'll also need to determine what the requirements for registration
are (standards-track?), and set up the registry.
Furthermore, Section 6.2 - the BNF says:
> Content-Range = "Content-Range" ":" content-range-spec
>
> content-range-spec = byte-content-range-spec
> byte-content-range-spec = bytes-unit SP
> byte-range-resp-spec "/"
> ( instance-length | "*" )
>
> byte-range-resp-spec = (first-byte-pos "-" last-byte-pos)
> | "*"
> instance-length = 1*DIGIT
This does not allow other range units to be used. If we keep them,
this BNF needs to be changed to something like:
Content-Range = "Content-Range" ":" content-range-spec
content-range-spec = byte-content-range-spec / ext-content-range-
spec
byte-content-range-spec = bytes-unit SP
byte-range-resp-spec "/"
( instance-length | "*" )
byte-range-resp-spec = (first-byte-pos "-" last-byte-pos)
| "*"
instance-length = 1*DIGIT
ext-content-range-spec = other-range-unit SP CHAR*
Note that section 6.2 places several requirements on the use of the
Content-Range header which assume that byte-ranges are in use; we'd
need to adjust the language appropriately.
Beyond that, I can't see what else we'd need to specify; everything
else is unit-specific.
Thoughts?
--
Mark Nottingham http://www.mnot.net/
Received on Monday, 28 July 2008 12:59:48 UTC