Re: [Last-Call] Last Call: <draft-ietf-httpbis-sfbis-05.txt> (Structured Field Values for HTTP) to Proposed Standard

Mark Nottingham <mnot@mnot.net> Tue, 13 February 2024 04:41 UTC

Return-Path: <mnot@mnot.net>
X-Original-To: last-call@ietfa.amsl.com
Delivered-To: last-call@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C1611C14F5EF for <last-call@ietfa.amsl.com>; Mon, 12 Feb 2024 20:41:51 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.106
X-Spam-Level:
X-Spam-Status: No, score=-7.106 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=mnot.net header.b="A+R9EVKb"; dkim=pass (2048-bit key) header.d=messagingengine.com header.b="dw8ueJ5L"
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id PCur0W0OLUUR for <last-call@ietfa.amsl.com>; Mon, 12 Feb 2024 20:41:47 -0800 (PST)
Received: from wfout3-smtp.messagingengine.com (wfout3-smtp.messagingengine.com [64.147.123.146]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 44FC0C14F5FF for <last-call@ietf.org>; Mon, 12 Feb 2024 20:41:47 -0800 (PST)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailfout.west.internal (Postfix) with ESMTP id 2F6AC1C00070; Mon, 12 Feb 2024 23:41:39 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163]) by compute5.internal (MEProxy); Mon, 12 Feb 2024 23:41:39 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mnot.net; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm1; t=1707799298; x=1707885698; bh=Jts5Qw48s8Z2vIH3BI01A5g0PBays5shBGdAsgmNclY=; b= A+R9EVKb1Fo6D7OXU4zcHynCiru23HgNyRH9F6TbYQr9obq5L9s7VjHfmhbyQM71 vlR4UzFpPoMc6jZUbBXt8cHOYxYP/+8hJ5E6O0XGxQ9gHBFQqMF6EBh/sN0KYXAd pgaxcBeCCCYyXbAdFE/M5EglBewfth9244JWV3OHnnjNdwWe7Lg5bbZyyrAd5jRl a2HUIrK28BCFj6Q+cqGdor1YCaWAXGBQeWT9fl/uXIRSjJ8z3CsIypRiUJjWDFdk Q9ccb3Una8J3kvi6/QKre6JiBfaCBfpDxcJMYKeKaAnmtNz1f+e+6INoHe3kETo1 cBbPuI/gPu4rB7G0o/v9VA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1707799298; x= 1707885698; bh=Jts5Qw48s8Z2vIH3BI01A5g0PBays5shBGdAsgmNclY=; b=d w8ueJ5L/0DPUZk3p75b0478sAlVhpD9C9jd41T9BNkYufFXK1EFuxGThRxir5de9 aWutPI2OQCbglIUSHW2uaZQ5rBc6vNP49zEzCRVr5aXt3DWEgES2G/K6k4udRLzY m6OllzLl0wk3ic22u5pQyOoykOAfsF5rcurA6jfyHwXabYbi67agrAx6gv6+S0le BmKRrriyN1Bu+pb7H77cOlDVabcVqpSJ5JAtVmXbLFjugkZ02R1xr98whdbdHjvZ NlJlnCmWv37X81lUVb+fcx0NbrcYSKAVIfT2xywoCEh/8y1izFAvqkNTNyxxQ+ki 8dc119lgLcdWGXaDDzasg==
X-ME-Sender: <xms:AvPKZbqPQQ4UZcW6lzGMkNI4U6a2O-Rom9CoS8fFOvoAmKlxNTaC8g> <xme:AvPKZVpqeQzSkxOzzQ8QUHstVwDubnQ0prX9vDVv2I8rHse4-Q3gqo_DgL2d4O2Z4 hIWbKJyXUi9bpiBrA>
X-ME-Received: <xmr:AvPKZYN8l3N8m0Th1UVG8zkzD3uq7soGeqgO67GZ8CQRqZW9FwSbORHemxycbg6TQxWj0Z5Mw-L6I90m_RbMJjT-whcKet8Vt-M7hvHCgcnahDqmGzrPEWaK>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrudeggdejiecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecunecujfgurheptggguffhjgffvefgkfhfvffosehtqh hmtdhhtdejnecuhfhrohhmpeforghrkhcupfhothhtihhnghhhrghmuceomhhnohhtsehm nhhothdrnhgvtheqnecuggftrfgrthhtvghrnhepueetffdvgeelhedufeehffevieejfe ffvdegieeuvdeukefhheejkefggedvuefgnecuffhomhgrihhnpehgihhthhhusgdrtgho mhdpihgvthhfrdhorhhgpdhmnhhothdrnhgvthenucevlhhushhtvghrufhiiigvpedtne curfgrrhgrmhepmhgrihhlfhhrohhmpehmnhhothesmhhnohhtrdhnvght
X-ME-Proxy: <xmx:AvPKZe4hBfnLbXcKSfyhtlceKQ3NDau-KLtZ22Wuxyi0nl0Nb9ckRQ> <xmx:AvPKZa4KV4tcGY5oneejzOk_WLSwIeXmI_-ONaD297tIHrPhlEpvpg> <xmx:AvPKZWh89sSCcZoWjmrrvZOn_gpMe2UgIbsuAIOD9I__gIz5gU1LkA> <xmx:AvPKZaF_y18Fb25BlU5KP5sLoHWjOTzdEvcpQu98xrAsL-v1RcR2HuovKzo>
Feedback-ID: ie6694242:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 12 Feb 2024 23:41:37 -0500 (EST)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.300.61.1.2\))
From: Mark Nottingham <mnot@mnot.net>
In-Reply-To: <GcJc5RI6a9Nln-m12sF9koOf4i6bprIeTO1s7xMU8QcjQNQVN5vEmrwq3unDGt0PVdVso9BSh_NMcigFn18yzIoJp_PG6r6L7_F19FG8y0Q=@protonmail.com>
Date: Tue, 13 Feb 2024 15:41:33 +1100
Cc: last-call@ietf.org
Content-Transfer-Encoding: quoted-printable
Message-Id: <D6F821EC-2C1C-4E49-8D42-FDAF7981555A@mnot.net>
References: <170654769906.53987.6495846329584331949@ietfa.amsl.com> <GcJc5RI6a9Nln-m12sF9koOf4i6bprIeTO1s7xMU8QcjQNQVN5vEmrwq3unDGt0PVdVso9BSh_NMcigFn18yzIoJp_PG6r6L7_F19FG8y0Q=@protonmail.com>
To: Rahul Gupta <cxres=40protonmail.com@dmarc.ietf.org>
X-Mailer: Apple Mail (2.3774.300.61.1.2)
Archived-At: <https://mailarchive.ietf.org/arch/msg/last-call/NcyG7LkOBnZC3aQ5Dz2PslUDtpY>
Subject: Re: [Last-Call] Last Call: <draft-ietf-httpbis-sfbis-05.txt> (Structured Field Values for HTTP) to Proposed Standard
X-BeenThere: last-call@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: IETF Last Calls <last-call.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/last-call>, <mailto:last-call-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/last-call/>
List-Post: <mailto:last-call@ietf.org>
List-Help: <mailto:last-call-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/last-call>, <mailto:last-call-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Feb 2024 04:41:51 -0000

Hi Rahul,

> On 12 Feb 2024, at 6:48 pm, Rahul Gupta <cxres=40protonmail.com@dmarc.ietf.org> wrote:
> 
> Hi there,
> 
> I would like to put forth the following points for consideration before adopting 'Structured Field Values for HTTP' as a proposed standard.
> 
> 1. The text in the section on Display Strings (a new addition in this standard) fails to mention that these must begin with a `%` followed by a DQUOTE (compare that, for example, with text in the section on Boolean). One is forced to infer this from the example or by reading the parsing rules.

I'll take that as editorial feedback, thanks.

> 2. The specification implicitly assumes that members of a List are allowed to repeat, building on a traditional notion of an array. It would be ideal if this notion be made explicit, especially since it is possible to ascribe special meaning to repeated items, much more so when these repeated items can be parameterized differently. More importantly, I would request that additional guidance be provided by the specification, requiring that header field definitions specify how repeated Items (and associated parameters) are dealt with, at least in the specific (uncommon) case where repeated items are not treated as separate items (but, say, for example as an override) by the header field in question.

The WG discussed this in <https://github.com/httpwg/http-extensions/issues/2724>, which you opened recently.  Based on what's happened there so far, I don't think there's reason to make a change.

> 3. I had made a request, rather late in the day, that parameters allow not just "bare items" but "bare array of items" as well. This change allows for arbitrarily deep nesting of headers, which is currently not possible. I have illustrated its need with a use-case. Its absence would force one to resort to rather ugly hacks and/or header proliferation in certain circumstances. One of the authors has suggested that this request constitutes a breaking change, and therefore not eligible to be considered. However, as I observed in the issue, this is a feature enhancement (as opposed to a breaking change), completely backwards compatible with the proposed specification. AFAICT, all structured field values that would be successfully parsed in the current version of the proposed specification would parse no differently. Only some field that would have emitted an error, i.e. those using bare arrays of items as parameters, will now parse as well. This might trip type checkers etc., but is no different from the introduction of a new type like Display Strings. In any case, new fields are required to refer to the specification they are using!

See discussion in <https://github.com/httpwg/http-extensions/issues/2732>.

Cheers,

> 
> 
> BR/Rahul
> 
> 
> On Monday, January 29th, 2024 at 10:31 PM, The IESG <iesg-secretary@ietf.org> wrote:
> 
>> The IESG has received a request from the HTTP WG (httpbis) to consider the
>> following document: - 'Structured Field Values for HTTP'
>> <draft-ietf-httpbis-sfbis-05.txt> as Proposed Standard
>> 
> 
>> 
> 
>> The IESG plans to make a decision in the next few weeks, and solicits final
>> comments on this action. Please send substantive comments to the
>> last-call@ietf.org mailing lists by 2024-02-12. Exceptionally, comments may
>> be sent to iesg@ietf.org instead. In either case, please retain the beginning
>> of the Subject line to allow automated sorting.
>> 
> 
>> Abstract
>> 
> 
>> 
> 
>> This document describes a set of data types and associated algorithms
>> that are intended to make it easier and safer to define and handle
>> HTTP header and trailer fields, known as "Structured Fields",
>> "Structured Headers", or "Structured Trailers". It is intended for
>> use by specifications of new HTTP fields that wish to use a common
>> syntax that is more restrictive than traditional HTTP field values.
>> 
> 
>> This document obsoletes RFC 8941.
>> 
> 
>> 
> 
>> 
> 
>> 
> 
>> The file can be obtained via
>> https://datatracker.ietf.org/doc/draft-ietf-httpbis-sfbis/
>> 
> 
>> 
> 
>> 
> 
>> No IPR declarations have been submitted directly on this I-D.
>> 
> 
>> 
> 
>> 
> 
>> 
> <publickey - cxres@protonmail.com - 0x0CEC7748.asc>-- 
> last-call mailing list
> last-call@ietf.org
> https://www.ietf.org/mailman/listinfo/last-call

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