Re: If-None-Match + Range

On 17.01.2012 09:08, Roy T. Fielding wrote:
> On Jan 16, 2012, at 8:38 AM, Zhong Yu wrote:
>
>> Let me clarify my question with an example.
>>
>> The representation remains unchanged between requests; the ETag
>> remains "v0". The length of the representation body is 1000 bytes. 
>> Now
>> consider this request
>>
>>    GET /resource HTTP/1.1
>>    If-None-Match: "v0"
>>    Range: bytes=2000-3000
>>
>> of course, this is a bad request. The question is, which status code
>> should be returned? 304 or 416? The two sections I quoted seem to
>> yield to each other.
>
> 304 is the answer.  The text on precedence still needs work, but the
> conditions
> are tested before performing the requested method.
>
> ....Roy


Really?

I'll admit that makes implementation a whole lot easier and raises the 
servers visible success rate (er, "watermelon metrics" comes to mind 
there). The identification and recovery from object corruption or 
disappearance becomes more difficult for the client.

See my earlier post(s) for an AV scenario where 4xx is very desirable 
and useful.

AYJ

Received on Monday, 16 January 2012 23:03:59 UTC