Re: 206 as a result of weak If-Range

I've posted the question below last year but got no opinions.
Repeated client inquiries prompted me to look at this again.

In short, parts of RFC 2616 say that a server MUST use strong tag
comparison when generating 206 responses to If-Range (i.e., weak
If-Range MOST NOT match), while another part places requirements on
206 responses to weak If-Range (implying that it is OK to respond with
206 to a weak If-Range). See original post below for quotes/details.

Does anybody care to comment? Would it be fair to say that the latter
part documents requirements for violators? That is, if and only if a
server decides (due to local configuration or whatever) to violate a
MUST it becomes subject to another MUST?

Or am I missing some way to generate a 206 response to a weak If-Range
without violating any MUSTs?

Thanks,

Alex.


On Wed, 30 Oct 2002, Alex Rousskov wrote:

>
> Hi there,
>
>
> RFC 2616, section 10.2.7 (206 Partial Content) says:
>
>    If the response is the result of an
>    If-Range request that used a weak validator, the response MUST NOT
>    include other entity-headers;
>
> The above implies that it may be OK to respond with partial content to
> an If-Range request that uses a weak validator. On the other hand,
> section 13.3.3 (Weak and Strong Validators) says,
>
>    only a strong validator is usable for a sub-range
>    retrieval, since otherwise the client might end up with an internally
>    inconsistent entity.
>
> and (less importantly)
>
>    Clients MUST NOT use weak validators
>    in [subrange] forms of request.
>
> and (more importantly)
>
>    A cache or origin server receiving a conditional request, other than
>    a full-body GET request, MUST use the strong comparison function to
>    evaluate the condition.
>
> which seems to imply that a 206 Partial Content response cannot be a
> result of an If-Range request that used a weak validator. In other
> words, section 10.2.7 seems to be documenting specifics of the
> behavior that is prohibited in section 13.3.3 because, according to
> 13.3.3, weak If-Range should never match and the server MUST respond
> with 200 (OK) and not 206 (Partial Content).
>
> My question is: [How] is it possible for a compliant implementation to
> generate a 206 Partial Content response as a result of an If-Range
> request that used a weak validator?
>
>
> Thank you,
>
> Alex.

-- 
                            | HTTP performance - Web Polygraph benchmark
www.measurement-factory.com | HTTP compliance+ - Co-Advisor test suite
                            | all of the above - PolyBox appliance

Received on Tuesday, 15 April 2003 18:55:27 UTC