Subject: p4: editorial suggestions

From: Mark Nottingham <[email-masked]>
Date: Tue, 23 Apr 2013 13:47:42 +1000

* 2.1 "...avoid confusing cache behaviour." It's not just caches; suggest "...avoid undesired behaviour."

* 3.1 "...instead they MUST respond with the 412 (Precondition Failed) status code."  This is too strong; e.g., what if authentication is needed? Suggest an "unless..." clause allowing other error status codes.

* 3.2 needs a references to "unsafe" in p2.

* 3.4 same problem with MUST respond as 3.1.

* 5 Paragraphs two and three repeat what's been said previously in the document; are they necessary?

--
Mark Nottingham   http://www.mnot.net/

---

From: Julian Reschke <[email-masked]>
Date: Tue, 30 Apr 2013 15:07:49 +0200

> * 2.1 "...avoid confusing cache behaviour." It's not just caches; suggest "...avoid undesired behaviour."

<http://trac.tools.ietf.org/wg/httpbis/trac/changeset/2230>

> * 3.1 "...instead they MUST respond with the 412 (Precondition Failed) status code."  This is too strong; e.g., what if authentication is needed? Suggest an "unless..." clause allowing other error…

This is indeed a change from 2616 where we had:

"If the request would, without the If-Match header field, result in 
anything other than a 2xx or 412 status, then the If-Match header MUST 
be ignored." -- 
<http://greenbytes.de/tech/webdav/rfc2616.html#header.if-match>

The change happened between -21 and -22; maybe we should just go back to 
the original text?

> * 3.2 needs a references to "unsafe" in p2.

<http://trac.tools.ietf.org/wg/httpbis/trac/changeset/2230>

> * 5 Paragraphs two and three repeat what's been said previously in the document; are they necessary?

 From a quick glance section 5 provides a general overview of how things 
are designed to work; as such the text seems to be useful there. Do you 
see any problems besides the risk of inconsistencies with other text?

Best regards, Julian

---

From: Ken Murchison <[email-masked]>
Date: Tue, 30 Apr 2013 10:46:57 -0400

On Tue, 30 Apr 2013 15:07:49 +0200, Julian Reschke wrote:
> > * 3.1 "...instead they MUST respond with the 412 (Precondition 
> Failed) status code."  This is too strong; e.g., what if 
> authentication is needed? Suggest an "unless..." clause allowing other 
> error status codes.

The first paragraph of Section 5 seems to address the case of 401 and 
any other errors:

"For each conditional request, a server must evaluate the request 
preconditions after it has successfully performed its normal request 
checks (i.e., just before it would perform the action associated with 
the request method). Preconditions are ignored if the server determines 
that an error or redirect response applies before they are evaluated. 
Otherwise, the evaluation depends on both the method semantics and the 
choice of conditional."

The second sentence in Section 3 references Section 5 as far as when 
preconditions are applied.  This seems sufficient to me, but perhaps 
that is because I have read the document several times and know what it 
says in its entirety.

-- 
Kenneth Murchison
Principal Systems Software Engineer
Carnegie Mellon University

---

From: Julian Reschke <[email-masked]>
Date: Tue, 30 Apr 2013 16:54:27 +0200

> that is because I have read the document several times and know what it

Good catch! I agree that we can leave the sentence alone, then.

Best regards, Julian

---

From: Mark Nottingham <[email-masked]>
Date: Wed, 1 May 2013 09:26:56 +1000

On 01/05/2013, at 12:46 AM, Ken Murchison <[email-masked]> wrote:

> The first paragraph of Section 5 seems to address the case of 401 and any other errors:
> 
> "For each conditional request, a server must evaluate the request preconditions after it has successfully performed its normal request checks (i.e., just before it would perform the action associated with the request method). Preconditions are ignored if the server determines that an error or redirect response applies before they are evaluated. Otherwise, the evaluation depends on both the method semantics and the choice of conditional."
> 
> The second sentence in Section 3 references Section 5 as far as when preconditions are applied.  This seems sufficient to me, but perhaps that is because I have read the document several times and know what it says in its entirety.

Unfortunately, some (many) people will read the MUST and just stop.

Also, everywhere else we suggest the most sensible status code to use in a situation, barring exceptions (which is essentially what we're doing here), it's SHOULD; the MUST here seems sorely out of place.