- 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