Subject: Re: draft-reschke-rfc2231-in-http: section 4.2, Error Handling

From: Julian Reschke <[email-masked]>
Date: Mon, 01 Mar 2010 17:39:23 +0100

On 26.02.2010 18:42, Thomas Roessler wrote:
> On Fri, Feb 26, 2010 at 5:04 PM, Julian Reschke<[email-masked]>  wrote:
>
>>> Leaving the choice of precedence to the header specification implies
>>> that parsers need to special-case. It would seem reasonable to make a
>>> choice in this specification that for properties which can only occur
>>> once, the traditional syntax takes precedence.
>>
>> That would rule out the use case where the traditional syntax is used as a
>> fallback for clients that do not support the new syntax, as discussed in
>> that section:
>>
>> "Header specifications that include parameters should also specify whether
>> same-named parameters can occur multiple times. If repetitions are not
>> allowed (and this is believed to be the common case), the specification
>> should state whether regular or the extended syntax takes precedence. In the
>> latter case, this could be used by producers to use both formats without
>> breaking recipients that do not understand the syntax.
>
> That's a compelling argument for choosing "new style takes precedence"
> in the spec; I don't know of good arguments the other way.
>
> My main point is that I think we should make a choice (and either of
> the possible choices sounds reasonable), not which of the specific
> choices it should be.

Ok, let's make that choice, this would result in:

    Header specifications that include parameters should also specify
    whether same-named parameters can occur multiple times.  If
    repetitions are not allowed (and this is believed to be the common
    case), the specification should state that the extended syntax takes
    precedence.  This could be used by producers to use both formats
    without breaking recipients that do not understand the syntax.

However, that would still only be a recommendation -- so if a header 
definition deviated from that, a generic processor wouldn't be usable 
(or return the wrong choice).

Would that be ok, or are we prepared to mandate a choice here?

Best regards, Julian