Re: clarify some MUST requirements in HTTPbis part 1 section 3.3

Hi Mark,

On Wed, Dec 07, 2011 at 07:49:14PM +1100, Mark Nottingham wrote:
> 
> On 03/12/2011, at 5:53 PM, Willy Tarreau wrote:
> 
> > The issue I have with this is that for me, violating the spec simply implies
> > not doing a MUST or doing a MUST NOT. There are a huge number of such rules
> > in the spec, many of them irrelevant to most proxies. And by ignoring these
> > rules, the proxies will violate the spec by forwarding wrong contents. Your
> > example of the Date header is perfect. It's a general header with a MUST for
> > the format, still a number of proxies don't care about it and will not check
> > it. By forwarding a wrong one, they will violate the spec. 
> 
> This is a good point. I think we can address this by changing this in the sections on conformance (one per draft, IIRC):
> 
> >    This document also uses ABNF to define valid protocol elements
> >    (Section 1.2).  In addition to the prose requirements placed upon
> >    them, Senders MUST NOT generate protocol elements that are invalid.
> 
> to something like:
> 
> >    This document also uses ABNF to define valid protocol elements
> >    (Section 1.2).  In addition to the prose requirements placed upon
> >    them, Senders MUST NOT generate protocol elements that are invalid, 
> >    unless the element is out of their control (such as a header generated by
> >    an upstream sender), in which case they MAY attempt to correct
> >    the syntax before sending.
> 
> Thoughts? We'd still have the option of making specific exceptions where we require generation to be conformant (e.g., when there are security implications).

That's perfect in my opinion! I really like this approach, as it will imply
that proxies will have much less excuses for not respecting the rules. It
will make it easier to insist on what is important.

Thanks!
Willy

Received on Wednesday, 7 December 2011 09:48:20 UTC