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

Julian Reschke <julian.reschke@gmx.de> Fri, 26 February 2010 16:02 UTC

Return-Path: <julian.reschke@gmx.de>
X-Original-To: apps-discuss@core3.amsl.com
Delivered-To: apps-discuss@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 12A6428C1AC for <apps-discuss@core3.amsl.com>; Fri, 26 Feb 2010 08:02:06 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.363
X-Spam-Level:
X-Spam-Status: No, score=-4.363 tagged_above=-999 required=5 tests=[AWL=-1.764, BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0ELAfKjUiCIC for <apps-discuss@core3.amsl.com>; Fri, 26 Feb 2010 08:02:04 -0800 (PST)
Received: from mail.gmx.net (mail.gmx.net [213.165.64.20]) by core3.amsl.com (Postfix) with SMTP id BEE1C28C1B0 for <apps-discuss@ietf.org>; Fri, 26 Feb 2010 08:02:03 -0800 (PST)
Received: (qmail invoked by alias); 26 Feb 2010 16:04:17 -0000
Received: from mail.greenbytes.de (EHLO [192.168.1.105]) [217.91.35.233] by mail.gmx.net (mp020) with SMTP; 26 Feb 2010 17:04:17 +0100
X-Authenticated: #1915285
X-Provags-ID: V01U2FsdGVkX1+b6GhBlEmbEEmu49HErnqzDiLHG9Fw6LBsrQeAc6 1uZ/hmQk7yVqh4
Message-ID: <4B87F0FB.6090605@gmx.de>
Date: Fri, 26 Feb 2010 17:04:11 +0100
From: Julian Reschke <julian.reschke@gmx.de>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.0.4) Gecko/20060516 Thunderbird/1.5.0.4 Mnenhy/0.7.4.666
MIME-Version: 1.0
To: Thomas Roessler <roessler@gmail.com>
Subject: Re: draft-reschke-rfc2231-in-http: section 4.2, Error Handling
References: <4c80fa21002241136y629dda22l1d7617eb25250af8@mail.gmail.com>
In-Reply-To: <4c80fa21002241136y629dda22l1d7617eb25250af8@mail.gmail.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Y-GMX-Trusted: 0
X-FuHaFi: 0.59999999999999998
Cc: apps-discuss@ietf.org
X-BeenThere: apps-discuss@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: General discussion of application-layer protocols <apps-discuss.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/apps-discuss>, <mailto:apps-discuss-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/apps-discuss>
List-Post: <mailto:apps-discuss@ietf.org>
List-Help: <mailto:apps-discuss-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/apps-discuss>, <mailto:apps-discuss-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 26 Feb 2010 16:02:06 -0000

On 24.02.2010 20:36, Thomas Roessler wrote:
> Reviewing http://www.ietf.org/id/draft-reschke-rfc2231-in-http-10.txt,
> section 4.2 says:
>
>     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.
>
> 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.

Example:

   foo: bar; title="EURO exchange rates";
             title*=utf-8''%e2%82%ac%20exchange%20rates

In this case, the sender provides an ASCII version of the title for 
legacy recipients, but also includes an internationalized version for 
recipients understanding this specification -- the latter obviously 
should prefer the new syntax over the old one."

<http://greenbytes.de/tech/tc2231/#attfnboth2> is a test case that shows 
that using this technique, both variants can be served to clients, and 
those that understand the ext-parameter encoding will indeed pick the 
"better" parameter. Unfortunately, this appears to depend on parameter 
ordering, which I didn't want to mention in this spec. Maybe I should?

Best regards, Julian

PS: tracked as 
<http://greenbytes.de/tech/webdav/draft-reschke-rfc2231-in-http-latest.html#rfc.issue.handling-multiple>.