Re: Multiple header fields with the same field name - unwritten assumption about quoted commas in values?

Mark Nottingham <mnot@mnot.net> Wed, 16 January 2013 00:02 UTC

Return-Path: <ietf-http-wg-request@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 25A6421F867A for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 15 Jan 2013 16:02:34 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.475
X-Spam-Level:
X-Spam-Status: No, score=-8.475 tagged_above=-999 required=5 tests=[AWL=2.124, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id DGEsPGwu9FqD for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 15 Jan 2013 16:02:33 -0800 (PST)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id 6AD4E21F8667 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Tue, 15 Jan 2013 16:02:33 -0800 (PST)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1TvGS0-0007Nq-Qy for ietf-http-wg-dist@listhub.w3.org; Wed, 16 Jan 2013 00:01:52 +0000
Resent-Date: Wed, 16 Jan 2013 00:01:52 +0000
Resent-Message-Id: <E1TvGS0-0007Nq-Qy@frink.w3.org>
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <mnot@mnot.net>) id 1TvGRy-0007NB-Ak for ietf-http-wg@listhub.w3.org; Wed, 16 Jan 2013 00:01:50 +0000
Received: from mxout-07.mxes.net ([216.86.168.182]) by maggie.w3.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.72) (envelope-from <mnot@mnot.net>) id 1TvGRx-000506-HB for ietf-http-wg@w3.org; Wed, 16 Jan 2013 00:01:50 +0000
Received: from [192.168.1.80] (unknown [118.209.240.13]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by smtp.mxes.net (Postfix) with ESMTPSA id 9FB2E22E259; Tue, 15 Jan 2013 19:01:26 -0500 (EST)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 6.2 \(1499\))
From: Mark Nottingham <mnot@mnot.net>
In-Reply-To: <CAK3OfOiWzJqHr8VSzn6WFcWRGJEr59XiUyh+wGTDnf1ydVL=3g@mail.gmail.com>
Date: Wed, 16 Jan 2013 11:01:22 +1100
Cc: Karl Dubost <karld@opera.com>, Julian Reschke <julian.reschke@gmx.de>, Piotr Dobrogost <p@ietf.dobrogost.net>, ietf-http-wg@w3.org
Content-Transfer-Encoding: quoted-printable
Message-Id: <1390897A-59CF-451B-B3CD-BB39906BDACD@mnot.net>
References: <CAA6tFMtOtpu-KJ1PMctU-XqZBXieOgb=uxPNj9wkRBvvbK7iXg@mail.gmail.com> <CACuKZqFWzApgkbQUEgOoNrumJFKSeVFZeCzZgvWDBGukykVqiA@mail.gmail.com> <50ED4DB4.5010803@gmx.de> <CACuKZqHDWbNMiwjkxvBuAt-UEg_tjzEvFZsyXM2U+5H5qxK76A@mail.gmail.com> <50ED9CEF.8080609@gmx.de> <CACuKZqFQ1=0sU7uhnh9_xew5=jPjS3WtEgrtu1RFH+Nu_=FwrQ@mail.gmail.com> <50EDA819.4040402@gmx.de> <CACuKZqH4+JUe4Gqp7LRGkCorFdQ107S=sf2uOSZnMkdgHmJaaQ@mail.gmail.com> <50EDD95C.9080206@gmx.de> <CAA6tFMsgAKL+-UW6rS0ScxpvukBhJ2ExT9KMWudiKa65YCpkew@mail.gmail.com> <50F549D8.2050501@gmx.de> <360A0ACE-4CA6-400A-BFE9-7DFF89AAB439@opera.com> <50F57628.5030502@gmx.de> <BD31B7FE-1CB4-48AD-A119-37A3509EF8E9@opera.com> <6D9EA8FA-50A6-44B1-A2EF-BB428E94183C@mnot.net> <CAK3OfOj8G3gFbTK_vPSnjS0qij+SUB3t9CdG80FYW5tbGgKR3A@mail.gmail.com> <C6A43E78-4F94-4FE3-A049-678555896FEC@mnot.net> <CAK3OfOiS1UPqvsk5H8RWUKyw8MB=uykeMkXzZoffm6732=UjMg@mail.gmail.com> <86DE887E-B189-40D2-A867-C81CFB0434AB@mnot.net> <CAK3OfOiWzJqHr8VSzn6WFcWRGJ Er59XiUyh+wGTDnf1ydVL=3g@mail.gmail.com>
To: Nico Williams <nico@cryptonector.com>
X-Mailer: Apple Mail (2.1499)
Received-SPF: pass client-ip=216.86.168.182; envelope-from=mnot@mnot.net; helo=mxout-07.mxes.net
X-W3C-Hub-Spam-Status: No, score=-3.1
X-W3C-Hub-Spam-Report: AWL=-3.130, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001
X-W3C-Scan-Sig: maggie.w3.org 1TvGRx-000506-HB 103b624a81e18bfd6a3691d9eb18878f
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Multiple header fields with the same field name - unwritten assumption about quoted commas in values?
Archived-At: <http://www.w3.org/mid/1390897A-59CF-451B-B3CD-BB39906BDACD@mnot.net>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/15895
X-Loop: ietf-http-wg@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <http://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

On 16/01/2013, at 10:57 AM, Nico Williams <nico@cryptonector.com> wrote:

> On Tue, Jan 15, 2013 at 5:47 PM, Mark Nottingham <mnot@mnot.net> wrote:
>> On 16/01/2013, at 10:37 AM, Nico Williams <nico@cryptonector.com> wrote:
>> 
>>> On Tue, Jan 15, 2013 at 5:28 PM, Mark Nottingham <mnot@mnot.net> wrote:
>>>> We're talking about HTTP/1.x here, not 2.0. We can't retroactively make implementations non-conformant.
>>> 
>>> Ah, yes.  But we could stop encouraging implementors to merge multiple
>>> header instances.  Then we only have to say that it happens and
>>> explain the pitfalls.
>> 
>> It's extremely common to do something like:
>> 
>> Cache-Control: max-age=60, must-revalidate
>> 
>> Are you really saying that this should be discouraged?
> 
> No.  I'm saying that it's OK for apps to do that but not any other
> entities (middleboxes), mostly because middleboxes can't possibly know
> about headers that hadn't been registered when they were implemented.


OK. Is this an actual problem you've encountered? 

I'm fine with adding some clarifying text if it helps implementers, but I haven't seen this confusing any middlebox vendors; they tend to leave the bits alone...

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