Subject: #370: If-None-Match vs 412 vs ignoring the header field

From: Julian Reschke <[email-masked]>
Date: Tue, 10 Jul 2012 21:48:34 +0200

From an off-list WGLC comment:

>     3.2. If-None-Match
>
>         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-
>
> Should this list also include 412 listed above in the same section?

I believe this is correct, the list needs to include 412 as well; opened 
<http://trac.tools.ietf.org/wg/httpbis/trac/ticket/370> to track this.

Proposed changed text:

    If the request would, without the If-None-Match header field, result
    in anything other than a 2xx (Successful), 304 (Not Modified), or 412
    (Precondition Failed) status code, then the If-None-Match header
    field MUST be ignored.  (See Section 2.4 for a discussion of server
    behavior when both If-Modified-Since and If-None-Match appear in the
    same request.)

(<http://trac.tools.ietf.org/wg/httpbis/trac/attachment/ticket/370/370.diff>)

Feedback appreciated,

Julian

---

From: Yves Lafon <[email-masked]>
Date: Wed, 11 Jul 2012 08:32:23 -0400 (EDT)

On Tue, 10 Jul 2012, Julian Reschke wrote:

>>         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-
>> 

I don't think it is correct, the rationale seems to be the use of a strong 
validator when a weak validator was possibly already applied (IMS) 
resulting in a 200 or 304.
If the request, without the INM results in a 412, so an error, 
transforming that in a 200 by virtue of the INM doesn't look correct.

-- 
Baroula que barouleras, au tiéu toujou t'entourneras.

         ~~Yves

---

From: Julian Reschke <[email-masked]>
Date: Wed, 11 Jul 2012 14:57:24 +0200

On 2012-07-11 14:32, Yves Lafon wrote:
>> I believe this is correct, the list needs to include 412 as well;
>> opened <http://trac.tools.ietf.org/wg/httpbis/trac/ticket/370> to
>> track this.
>
> I don't think it is correct, the rationale seems to be the use of a
> strong validator when a weak validator was possibly already applied
> (IMS) resulting in a 200 or 304.

The spec allows combining If-None-Match with If-Modified-Since. That 
field however does not define a case where 412 would be returned. So, 
indeed, it doesn't need to be mentioned here.

If we *do* resolve 
<http://trac.tools.ietf.org/wg/httpbis/trac/ticket/371> however in a way 
that causes a 412 to be possible, we'll need to revisit this.

> transforming that in a 200 by virtue of the INM doesn't look correct.

As far as I can tell, "transforming into a 200" was not on the table.

It seems, we need to resolve 
<http://trac.tools.ietf.org/wg/httpbis/trac/ticket/241> to make progress 
here.

> ...

Thanks for the feedback, Julian