Re: If-Range with other conditionals

On Tue, 24 Sep 2002, Jeffrey Mogul wrote:

> Anyway, I can't think of any reasonable interpretation for this
> example:
>
> 	GET /foo.html HTTP/1.1
> 	Host: whatever.com
> 	If-Range: "a"
> 	Range: bytes=100-200
> 	If-Match: "b"

What, in your opinion, should an origin server return when receiving
the above request (we can assume that entity has an ETag of "c")? It
looks like returning 200/206 would violate If-Match while returning
anything else would violate If-Range SHOULD requirements. Should the
server return "Bad Request"? Or is this simply an "undefined behavior"
case?

> It *might* make sense to do:
>
> 	GET /foo.html HTTP/1.1
> 	Host: whatever.com
> 	If-Range: "a"
> 	Range: bytes=100-200
> 	If-None-Match: "b"
>
> which means
> 	if the current entity tag is "b" then send 304

OK. It looks to me that you are saying that the presence of If-Range
headers does not limit response codes that can be returned. In other
words, the existing SHOULD "definition" of If-Range is valid only when
no other If-* headers are present:

   If the entity tag given in the If-Range header matches the current
   entity tag for the entity, then the server SHOULD provide the
   specified sub-range of the entity using a 206 (Partial content)
   response. If the entity tag does not match, then the server SHOULD
   return the entire entity using a 200 (OK) response.



Here is what we currently do to test the proxy-related MUST in
question: generate all possible combinations of If-* headers that do
not violate other MUSTs, make on of the If- header mismatch LMT/tag of
the cached entity, and then make sure that the proxy under test does
not return any cached information (including headers). The proxy can
return any status codes. Do you think that's the best strategy of
verifying the MUST in question?


> P.S.: Alex, I owe you answers for several previous questions you've
> posted.  I'm trying to catch up on my email.

Please feel free to ignore any that make little sense or are not
important. You certainly do not owe me any explanations!


Thanks a lot for a detailed explanation,

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, 24 September 2002 20:24:55 UTC