empty lists, was: Benjamin Kaduk's Discuss on draft-ietf-httpbis-header-structure-18: (with DISCUSS and COMMENT)

Julian Reschke <julian.reschke@gmx.de> Tue, 19 May 2020 10:07 UTC

Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=lists.ie@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 B397C3A132E for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 19 May 2020 03:07:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.75
X-Spam-Level:
X-Spam-Status: No, score=-0.75 tagged_above=-999 required=5 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.249, MAILING_LIST_MULTI=-1, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_PASS=-0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=gmx.net
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qSt1Vbh-whjM for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 19 May 2020 03:07:55 -0700 (PDT)
Received: from lyra.w3.org (lyra.w3.org [128.30.52.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id F0F183A132F for <httpbisa-archive-bis2Juki@lists.ietf.org>; Tue, 19 May 2020 03:07:54 -0700 (PDT)
Received: from lists by lyra.w3.org with local (Exim 4.92) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1jaz7H-00075h-Q0 for ietf-http-wg-dist@listhub.w3.org; Tue, 19 May 2020 10:04:55 +0000
Resent-Date: Tue, 19 May 2020 10:04:55 +0000
Resent-Message-Id: <E1jaz7H-00075h-Q0@lyra.w3.org>
Received: from titan.w3.org ([128.30.52.76]) by lyra.w3.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <julian.reschke@gmx.de>) id 1jaz7G-00074w-Rh for ietf-http-wg@listhub.w3.org; Tue, 19 May 2020 10:04:54 +0000
Received: from mout.gmx.net ([212.227.15.15]) by titan.w3.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <julian.reschke@gmx.de>) id 1jaz7E-0003do-Vi for ietf-http-wg@w3.org; Tue, 19 May 2020 10:04:54 +0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1589882666; bh=t68zouCQQwG0VtpA/IP+JrVPWMXamM7Te37jSaXHPyw=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=lTfpQiDn4+B8VzJbtG61waQkxzjaHDFTMuKgwfSp3e7wxt2a0sy5KN8Sm+XZlU27T PKUOEWu27JymF+LvlhWhHkxv2P1FTV81xboecFEKBQF+m5xTLCMeeLN2SZY5H5aLCL nFaXk5CAdM8069363hJpZgOtMpiAiVTAg7otXN3A=
X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c
Received: from [192.168.1.220] ([217.91.35.233]) by mail.gmx.com (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1M4JqV-1jahzc44Kv-000HWN; Tue, 19 May 2020 12:04:26 +0200
To: Mark Nottingham <mnot@mnot.net>, Benjamin Kaduk <kaduk@mit.edu>
Cc: The IESG <iesg@ietf.org>, draft-ietf-httpbis-header-structure@ietf.org, httpbis-chairs@ietf.org, HTTP Working Group <ietf-http-wg@w3.org>, Tommy Pauly <tpauly@apple.com>
References: <158985680600.32294.14997877272521602557@ietfa.amsl.com> <CFC9B0CA-6125-4705-A13E-F2260F3EC3A5@mnot.net>
From: Julian Reschke <julian.reschke@gmx.de>
Message-ID: <72f8f124-0965-5c79-4bb6-92370b8b579e@gmx.de>
Date: Tue, 19 May 2020 12:04:24 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0
MIME-Version: 1.0
In-Reply-To: <CFC9B0CA-6125-4705-A13E-F2260F3EC3A5@mnot.net>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:s62z7TXmdbcbjd06iZJfb7G8xOqccU/twEHRufmE9x4axzaRLwh TXFiygsj3SbO4ll9vqf0fhSSLx3WiWHeg+DUE0ma3pLaWaQdHPiSPhIWYAgd/NnWkN7iemk qqHrUTKoPXmO8+SqGn2SjYKQBnu0mCQJVmm7lpCkcd+QuLbTx5EL9pdlobDwGW8P6j0gPu0 9uJekmvrQ7qk3Rc8SWY9w==
X-UI-Out-Filterresults: notjunk:1;V03:K0:voRS4RSKt3k=:WS8ruJyL1UrqeaB/zvb6LT VTdTUbklrdDeDkuNlYKNZggGkNA181WR6VZtndo5GMvUm95PRow98RxLUCYFR9hWpJmCnyQEG yHcDBaIZu1aQ/4YlDBhS9peNZnlab4ibh625NImlkl84ruo1H4BIe7XAUOLcjVTs8oalk5V4u uZljSaNrCjaEwSnZH3XyMnPF2eBb9IgFWVLHPo/JCnC4RoY70woDBLA1HllP4sYkozD1UI0DZ XyzduoRKh4J8BB7YkezRMz93sStquaxbX7qeaWJYXy+fd2KmkBn0Cdk2LjZtd1sN7pavE9Z0w uhrTdFBL9Y10tRvzHXdPy+ZHSB3TUpxEyODEeJJR8ImLk8KG1jYzPqgSEv0nWGIJiisbK9JS3 89L/zoGbAhKGTPOLk7t3NjucEFKAn57uCMvBnR3Z7bMBj5fn/+G1L1owKDySXDhFUlyZlx4ro fylQjNmCMdfhU5eR0HO+WTm0veedSSrXKaCnYsh77WJPzrjYikouOP8wNCgVFttifDyJdrM97 gJGEdkrS7W86p5EkD2EnHwjVJ/lLHpdeZK5P0XapwHaScF7TeWTYQg5JT9AZ7oY5ZIqtUzXWa 8FkxeGBf2yjEBikfgVAtcjAzOBwY/nyNAPdEeDOvHPd+Gb+8mKdemv8Qwjm7Gj4fAjYF90WQa AqDDCRFezSTL9KXiojQ+YMCTjqPPnFhQkbhy3JC+sYxgqf+4lGUp1ONumiJW62TuvXyFFh5ed xZ6G+g3aariaKu/q/oZlbX1tG1gLQ1jSbJkrOr5/hZeUzagWxc2+0qOujJ9XzdZMM8y7LfA5c 1GXRSxR4Um7ABJHSHwiMK+1VJ6sPpn3OPV9ogkM9MGgF0N2GfEGtoWGQ/Jw2sr4UVu4abWO6I mYHrj87w+GacbvDvGID4aVjdK7vHzAcHAfuDAUMLLlJbgO0c5zfNPifsPzvmVsmBFB1TGpMzu BfjxwrvmBh7HZqq82EnBruugJzicGnBNvqcj1woUhxs451O1J/f6EQ3WaOkXAJpeMz6a3fHZA pxNPjSazOa6AXTdkKnmeHnAW8ZnU6GXlK9rlvzlGyf3j3eBpVMZSpo/aHp7l7TZ7t21C9ECtj BLEeLUI5E+eDCAffou//83kuWTMlvLYUPXywY2/huI4yv8KgWEmNr9YATOHropJcDb5QhGio9 cqRAm4PlST8Dd+UIPBqk+/B4CMiNufwxn8NNgr9Uefwn0u4e9S5rTp1sk3x/G+nBhR8pFrf0J BqNipfDHN7v+krddI
Received-SPF: pass client-ip=212.227.15.15; envelope-from=julian.reschke@gmx.de; helo=mout.gmx.net
X-W3C-Hub-Spam-Status: No, score=-5.6
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, W3C_AA=-1, W3C_IRA=-1, W3C_WL=-1
X-W3C-Scan-Sig: titan.w3.org 1jaz7E-0003do-Vi e65000b4a416e1871bdaaf0bcca15e2f
X-Original-To: ietf-http-wg@w3.org
Subject: empty lists, was: Benjamin Kaduk's Discuss on draft-ietf-httpbis-header-structure-18: (with DISCUSS and COMMENT)
Archived-At: <https://www.w3.org/mid/72f8f124-0965-5c79-4bb6-92370b8b579e@gmx.de>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/37665
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: <https://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

On 19.05.2020 07:13, Mark Nottingham wrote:
> ...
>> Most notably, there is the inherent risk of skew when both prose
>> algorithms and ABNF constructions are provided for the same structures.
>> While Section 1.2 is careful to disclaim that the prose algorithm takes
>> precedence over the ABNF for parsing, to my reading the coverage in the
>> following paragraph of serialization procedures imply that it is the
>> ABNF that is authoritative.  In particular, "[i]mplementations MAY vary
>> from the specified behavior so long as the output still matches the
>> ABNF" seems to admit deviations from the prose algorithms but require
>> compliance with the ABNF, in effect making the ABNF take precedence over
>> the prose algorithm.  Having a different description of the procedure
>> normative for generation vs. consumption invites
>> interoperability-affecting feature skew, such as the handling of empty
>> lists as Julian noted on the list.
>
> I think the solution here is to change the last paragraph of Notational Conventions to:
>
> """
> For serialization to HTTP fields, the ABNF illustrates the expected wire representation with as much fidelity as possible, and the algorithms define the recommended way to produce them. Implementations MAY vary from the specified behavior so long as the output is still correctly handled by the parsing algorithm.
> """
>
> Does that work for you, Ben?
> ...

It really doesn't help a lot with the case of:

   Foo:

What's the point in disallowing this in the ABNF (and on the wire) when
the normative parsing algorithm will accept it?

Best regards, Julian