Subject: #532 draft-ietf-httpbis-p1-messaging-25, "5.7.2 Transformations"

From: Julian Reschke <[email-masked]>
Date: Thu, 16 Jan 2014 23:34:12 +0100

<http://greenbytes.de/tech/webdav/draft-ietf-httpbis-p1-messaging-25.html#rfc.section.5.7.2>:

"A non-transforming proxy MUST NOT modify the message payload (Section 
3.3 of [Part2]). A transforming proxy MUST NOT modify the payload of a 
message that contains the no-transform cache-control directive.

A transforming proxy MAY transform the payload of a message that does 
not contain the no-transform cache-control directive; if the payload is 
transformed, the transforming proxy MUST add a Warning header field with 
the warn-code of 214 ("Transformation Applied") if one does not already 
appear in the message (see Section 5.5 of [Part6]). If the payload of a 
200 (OK) response is transformed, the transforming proxy can also inform 
downstream recipients that a transformation has been applied by changing 
the response status code to 203 (Non-Authoritative Information) (Section 
6.3.4 of [Part2])."

In the IESG review comments, Pete Resnick notes:

> I get the second sentence. But isn't the first a definition of a non-transforming proxy? Is so, I think you should change "MUST NOT" to "will not" or "does not".

I really don't care whether we phrase this as a statement of fact or a 
requirement.

What bothers me more is that we have two normative requirements on 
transforming proxies, split over two paragraphs.

Maybe we should re-structure this, as in...:

"A non-transforming proxy MUST NOT modify the message payload (Section 
3.3 of [Part2]).

A transforming proxy MUST NOT modify the payload of a message unless it 
does not contain the no-transform cache-control directive; if the 
payload is transformed, the transforming proxy MUST add a Warning header 
field with the warn-code of 214 ("Transformation Applied") if one does 
not already appear in the message (see Section 5.5 of [Part6]). If the 
payload of a 200 (OK) response is transformed, the transforming proxy 
can also inform downstream recipients that a transformation has been 
applied by changing the response status code to 203 (Non-Authoritative 
Information) (Section 6.3.4 of [Part2])."

?

Best regards, Julian

---

From: "Roy T. Fielding" <[email-masked]>
Date: Sun, 19 Jan 2014 02:13:10 -0800

Actually, this is about #531, but I'll leave the subject intact ...

On Jan 16, 2014, at 2:34 PM, Julian Reschke wrote:

> "A non-transforming proxy MUST NOT modify the message payload (Section 3.3 of [Part2]). A transforming proxy MUST NOT modify the payload of a message that contains the no-transform cache-control directive.
> 
> A transforming proxy MAY transform the payload of a message that does not contain the no-transform cache-control directive; if the payload is transformed, the transforming proxy MUST add a Warning header field with the warn-code of 214 ("Transformation Applied") if one does not already appear in the message (see Section 5.5 of [Part6]). If the payload of a 200 (OK) response is transformed, the transforming proxy can also inform downstream recipients that a transformation has been applied by changing the response status code to 203 (Non-Authoritative Information) (Section 6.3.4 of [Part2])."
> 
> I really don't care whether we phrase this as a statement of fact or a requirement.
> 
> What bothers me more is that we have two normative requirements on transforming proxies, split over two paragraphs.
> 
> "A non-transforming proxy MUST NOT modify the message payload (Section 3.3 of [Part2]).
> 
> A transforming proxy MUST NOT modify the payload of a message unless it does not contain the no-transform cache-control directive; if the payload is transformed, the transforming proxy MUST add a Warning header field with the warn-code of 214 ("Transformation Applied") if one does not already appear in the message (see Section 5.5 of [Part6]). If the payload of a 200 (OK) response is transformed, the transforming proxy can also inform downstream recipients that a transformation has been applied by changing the response status code to 203 (Non-Authoritative Information) (Section 6.3.4 of [Part2])."
> 
> ?
> 
> Best regards, Julian

I have addressed this in 

  http://trac.tools.ietf.org/wg/httpbis/trac/changeset/2563#file1

by removing the separate definition of non-transforming proxy (it is only
used in this section), moving the definition of transforming proxy here
(from the architecture section), and rephrasing the requirements so that
they say what a proxy MUST do if it does transform.

....Roy