Re: Last Call: <draft-ietf-httpbis-header-structure-18.txt> (Structured Field Values for HTTP) to Proposed Standard

Julian Reschke <julian.reschke@gmx.de> Mon, 18 May 2020 06:47 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 D30B83A08A3 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sun, 17 May 2020 23:47:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.749
X-Spam-Level:
X-Spam-Status: No, score=-0.749 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, URIBL_BLOCKED=0.001] autolearn=ham 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 rewG7VIto0ap for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sun, 17 May 2020 23:47:09 -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 0E45D3A089D for <httpbisa-archive-bis2Juki@lists.ietf.org>; Sun, 17 May 2020 23:47:08 -0700 (PDT)
Received: from lists by lyra.w3.org with local (Exim 4.92) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1jaZW7-0006Ax-HI for ietf-http-wg-dist@listhub.w3.org; Mon, 18 May 2020 06:44:51 +0000
Resent-Date: Mon, 18 May 2020 06:44:51 +0000
Resent-Message-Id: <E1jaZW7-0006Ax-HI@lyra.w3.org>
Received: from mimas.w3.org ([128.30.52.79]) 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 1jaZW2-00069Y-SR for ietf-http-wg@listhub.w3.org; Mon, 18 May 2020 06:44:46 +0000
Received: from mout.gmx.net ([212.227.17.20]) by mimas.w3.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <julian.reschke@gmx.de>) id 1jaZW1-0006eH-40 for ietf-http-wg@w3.org; Mon, 18 May 2020 06:44:46 +0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1589784263; bh=bttmwqlcugUPN4RHAtQAnAlgj/hihEDFFMSZuqDakzk=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=k7bArohrPqHaVEX3AWvMjLpJ1kN966or+WL9oT01EcJpHwnJ+QIEw3ja4yVRY9Rtg 81E7l8cBar0MlA3i/6Pt2caIvJYLZunynVF+h6rqzTIXat5ytElGR/ctEQewTAzeQE Q/mSqLAs5PkN5pNMI6WjnQ7h7FA+HKxOt1RIDldk=
X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c
Received: from [192.168.178.182] ([91.61.58.117]) by mail.gmx.com (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1McH9Y-1j4nWt22dY-00cike; Mon, 18 May 2020 08:44:23 +0200
To: Mark Nottingham <mnot@mnot.net>
Cc: last-call@ietf.org, httpbis-chairs@ietf.org, HTTP Working Group <ietf-http-wg@w3.org>, Barry Leiba <barryleiba@gmail.com>, draft-ietf-httpbis-header-structure@ietf.org
References: <158740521959.1174.9556681562748997101@ietfa.amsl.com> <bb3a29ff-1a0f-964d-c764-4d4819d338da@gmx.de> <4184EA3A-793F-4F29-8E99-FD371F35F6AC@mnot.net> <0150efc3-9d69-3ada-b714-5d2d6c9dbed3@gmx.de> <304BB4CA-54FC-498E-AB3F-12277FCEB2CB@mnot.net>
From: Julian Reschke <julian.reschke@gmx.de>
Message-ID: <034c8309-a6c1-3810-41d9-3e4cdceb0d2c@gmx.de>
Date: Mon, 18 May 2020 08:44:20 +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: <304BB4CA-54FC-498E-AB3F-12277FCEB2CB@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:vTP10xbTU5k9P07TswnCEdkWKRt0fyWYzWTEfZORQ5ObUTpDu1C FR8TUA5W0ecXcGFuaIf8c919tqpqMQnKnQlckQ7O4WNIb7Fm0Y1qfnHP2iRvwdGKX42R6ne Abymltkmt2jp7zej0KIvi7fZ4yVyWAtesOX/Y0lelFur7MSXWJguDoVVlISE7PskowwHu3t RvO6k9L9ut6q8EoHtWyiA==
X-UI-Out-Filterresults: notjunk:1;V03:K0:RA9I+ut+Sxo=:uGDEDEyQy6JvJ0AwWBHDFc 7TByP0oAk9FToaVmvn1PYqWoP6uIuuo9uAcTl7INbHaNoh08lzUIeezGiqbc9AI4rQUN2qJfi 3cyOeivaG+qIhkOP0zkPHaRoZUfv1zHHxJnjhJCmrJHkwPiPj1/uWc32F7v2efSeG4Q/gVWTr A1dAIQ/oI4ThZcjwICg1lhAZzer2t3DF27mDwpeinjhKkC7F/cZQqQYye8/CkfsaAiDTUzoeT IvQ5gYw0kbBCvWnFjeuVkA1vdWlk2oMouUcMPp/l2J7Vk/XSlqDAK16Ioxcwz72VxxX7Ys9k8 /ZHNeccN+svrNo3QTBLrfQogPBgzvhgAV/PB0oh2zWis1S5HceEUei+xwXeQ6uycvsU0ma+t6 BF/o0r1art6DFfAXcdPQksWAFg9EbgQEIO4kgUJ0Lt6rKebygakcfxYd56a3v46Qc6yiLMkXR YPHamtBOxgu8nS3/UjIDY04u3D0nVsSK0/ikOBG4u/NO+s7pYj1odYfNsK2ZqsnaaTgDdtlo7 0mYq7vvwzyB48JyWFc/CbV1omZAjou8JF0dbOuP/VOMqrjlZl4hH+8GZw3S14HK0rCfw+zWzp peg4CV88Zkvar/en1gS/Sc0+jXKi7LHnZx+qI9ebbnXzB+5fEaNjptdFLE3Patly92XGGdvMM lS7VTtJHEBasIKiic0AQ/ZlWsVLwXCqdFWmF5qJ7uAuLLJ017oGQNJxYzYbxa6Dc9Yc2R4+5s DlPg/Ug6Jcrs4A2ygJ5LCf5hopupgWWKR84NtKdZOP0KnccJzqU2VHbWoYvD4YGw+sr2ZejSN pl6D0p92P5b7I6B65lqpy7hqkUui9KL+xD8J34cGvr19TNqcWkSfEJ2umU1jXGQcs1pHtm/4k Ey7SnB/DzyNeUMcFucBHxPm7zEbMiaf0Luxjyz0lGjVoK8+GzEcFc+qtLnKHdCu7KUe5vZ4K2 WxCp878RqsofpeMpiQenSaWPxR2FGrqzrxl/NLzPeUeTv5zjuiBcCcBqHtqlKF6Jj6gHQ1+0a koOSQlCtp72Kqs/Q491WGPjrte4/gz4dto+yileRTcBi05yTorey/n51QpchRgdetnp94sk0C 7c+cpRT616kf6rlP5undzTDZlqs8MQ5HHbRBeCPmuX239rqHNhMrUT9jo9O9VuboAgsMyRh5Y sBi0Z/+Rfh0g+YvDvHAN2vMQtY5OBA4bict9Kx0EN+FjH5gu8g2ZW4ASeUYp4jZFMBLSyKB8Y Tu/hS+mPWiGWw+QuS
Received-SPF: pass client-ip=212.227.17.20; 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: mimas.w3.org 1jaZW1-0006eH-40 f90bbd8e99bdf69794d0b56b60eb1166
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Last Call: <draft-ietf-httpbis-header-structure-18.txt> (Structured Field Values for HTTP) to Proposed Standard
Archived-At: <https://www.w3.org/mid/034c8309-a6c1-3810-41d9-3e4cdceb0d2c@gmx.de>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/37648
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 18.05.2020 08:06, Mark Nottingham wrote:
>
>> On 15 May 2020, at 6:20 pm, Julian Reschke <julian.reschke@gmx.de> wrote:
>>>
>>>> What bugs me is that we have an invalid message to start with, but the
>>>> spec apparently *requires* receivers to accept it, albeit with
>>>> potentially unpredictable results.
>>>>
>>>> IMHO it would be better to allow those recipients that *can* detect the
>>>> brokenness to reject these fields.
>>>
>>> The problem is that many recipients won't be able to. This includes not only when an intermediary combines multiple field lines into one, but also when a server or library does so (which is more common IME).
>>
>> Yes.
>>
>>> We already have potential inconsistency in whitespace caused by such combination. I'm reluctant to add another dimension of inconsistency (whether or not the SH^HF implementation can recognise this situation and reject early).
>>
>> Understood, but I would see it this way: having *some* implementations
>> able to detect broken input is better than nobody detecting it, because
>> this way the problem might be fixed.
>>
>> I'd really like to hear some more feedback on this. Note that this is
>> related to what we can say in draft-ietf-httpbis-semantics - is a
>> recipient allowed *not* to combine field lines when they are clearly in
>> error, such as with:
>>
>>   Location: https://example.com/foo
>>   Location: bar
>
> I think this means adding something like this near the bottom of 4.2. Parsing Structured Fields:
>
> """
> Parsers MAY fail when processing a field value spread across multiple field lines, when one of those lines does not parse as that field. For example, a parsing handling an Example-String field that's defined as a sf-string is allowed to fail when processing this field section:
>
> Example-String: "foo
> Example-String: bar"
> """
>
> Does that do it?

Looks very good to me.

Best regards, Julian