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

Julian Reschke <> Mon, 18 May 2020 06:47 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id D30B83A08A3 for <>; Sun, 17 May 2020 23:47:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -0.749
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: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id rewG7VIto0ap for <>; Sun, 17 May 2020 23:47:09 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 0E45D3A089D for <>; Sun, 17 May 2020 23:47:08 -0700 (PDT)
Received: from lists by with local (Exim 4.92) (envelope-from <>) id 1jaZW7-0006Ax-HI for; Mon, 18 May 2020 06:44:51 +0000
Resent-Date: Mon, 18 May 2020 06:44:51 +0000
Resent-Message-Id: <>
Received: from ([]) by with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <>) id 1jaZW2-00069Y-SR for; Mon, 18 May 2020 06:44:46 +0000
Received: from ([]) by with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <>) id 1jaZW1-0006eH-40 for; Mon, 18 May 2020 06:44:46 +0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;; 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 [] ([]) by (mrgmx105 []) with ESMTPSA (Nemesis) id 1McH9Y-1j4nWt22dY-00cike; Mon, 18 May 2020 08:44:23 +0200
To: Mark Nottingham <>
Cc:,, HTTP Working Group <>, Barry Leiba <>,
References: <> <> <> <> <>
From: Julian Reschke <>
Message-ID: <>
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: <>
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=;;
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: 1jaZW1-0006eH-40 f90bbd8e99bdf69794d0b56b60eb1166
Subject: Re: Last Call: <draft-ietf-httpbis-header-structure-18.txt> (Structured Field Values for HTTP) to Proposed Standard
Archived-At: <>
X-Mailing-List: <> archive/latest/37648
Precedence: list
List-Id: <>
List-Help: <>
List-Post: <>
List-Unsubscribe: <>

On 18.05.2020 08:06, Mark Nottingham wrote:
>> On 15 May 2020, at 6:20 pm, Julian Reschke <> 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:
>>   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