Re: #90: multipart/byteranges

4.4 says:

> 4.If the message uses the media type "multipart/byteranges", and the
>   ransfer-length is not otherwise specified, then this self-
>   elimiting media type defines the transfer-length. This media type
>   UST NOT be used unless the sender knows that the recipient can arse
>   it; the presence in a request of a Range header with ultiple byte-
>   range specifiers from a 1.1 client implies that the lient can parse
>   multipart/byteranges responses.
>     A range header might be forwarded by a 1.0 proxy that does not
>     understand multipart/byteranges; in this case the server MUST
>     delimit the message using methods defined in items 1,3 or 5 of
>     this section.

Ignoring the missing characters (which should be fixed by now), a few  
things strike me;

1) the most direct way to address the immediate concern would be to  
restrict the use of multipart/byteranges *as a delimiter*; e.g.,

"If a 206 Partial Content response message uses the media type  
"multipart/byteranges", ..."

2) The "This media type MUST NOT be used..." requirement is a non- 
sequitur here, and probably belongs in the appendix that defines the  
media type, or possibly in 206 Partial Content. Doing so will  
necessitate reformulating the note into something like "Servers MUST  
NOT use multipart/byteranges to delimit the message when sending to  
HTTP 1.0 clients."

Beyond that, there's still an open question of whether we want to  
discourage its use as a delimiter (without disallowing it); Henrik,  
you say as much in  < 
 > -- is this still the case?


On 16/11/2008, at 3:19 AM, Henrik Nordstrom wrote:

> On fre, 2008-11-14 at 18:49 -0800, Mark Nottingham wrote:
>> I think the issue is that allowing a special case where it is allowed
>> makes parsers significantly more complex, and isn't in wide use  
>> anyway.
> Now I am confused what this is about.
> multipart/byteranges as delimiter is defenitely in wide use for 206
> responses.
> What is not supported in wide use is multipart/byteranges as delimiter
> for any other purpose such as sending requests..
> I don't see how we can disallow multipart/byteranges as delimiter. All
> clients sending multi-range requests MUST support it in 206  
> responses to
> such requests. A client not supporting multipart/byteranges as  
> delimiter
> MUST NOT sent a multi-ranged request without also using Connection:
> close.
> Regards
> Henrik

Mark Nottingham

Received on Wednesday, 10 December 2008 01:09:33 UTC