Re: If-None-Match + Range

On 2012-01-13 13:29, Zhong Yu wrote:
> Suppose a GET request contains `If-None-Match` and `Range` headers;
> the If-None-Match condition fails, the Range is unsatisfiable. Which
> code should be returned, 304 or 416? There are conflicting statements
> in the draft:
>
> Part 4, section 3.2.
>
>     If the request would, without the If-None-Match header field, result
>     in anything other than a 2xx or 304 status code, then the If-None-
>     Match header field MUST be ignored.
>
> (that means 416 should be returned)
>
> Part 5, section 5.4.2.
>
>     o  The presence of a Range header field in a conditional GET (a
>        request using one or both of If-Modified-Since and If-None-Match,
>        or one or both of If-Unmodified-Since and If-Match) modifies what
>        is returned if the GET is otherwise successful and the condition
>        is true.  It does not affect the 304 (Not Modified) response
>        returned if the conditional is false.
>
> (that means 304 should be returned)
>
> If the server decides that such a bad request is not worth honoring,
> which error code should be returned to client?

I don't think we know. Does it really matter?

(I think this is the same issue as 
<http://trac.tools.ietf.org/wg/httpbis/trac/ticket/241>)

Best regards, Julian

Received on Sunday, 15 January 2012 17:22:07 UTC