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 4A1463A09A7
	for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>;
 Mon, 24 Feb 2020 01:27:25 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.651
X-Spam-Level: 
X-Spam-Status: No, score=-2.651 tagged_above=-999 required=5
	tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1,
	HEADER_FROM_DIFFERENT_DOMAINS=0.25, MAILING_LIST_MULTI=-1,
	SPF_PASS=-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 3nMzBTtrIIMU
	for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>;
	Mon, 24 Feb 2020 01:27:23 -0800 (PST)
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 735013A09A4
	for <httpbisa-archive-bis2Juki@lists.ietf.org>;
 Mon, 24 Feb 2020 01:27:23 -0800 (PST)
Received: from lists by lyra.w3.org with local (Exim 4.92)
	(envelope-from <ietf-http-wg-request@listhub.w3.org>)
	id 1j69yG-000461-V6
	for ietf-http-wg-dist@listhub.w3.org; Mon, 24 Feb 2020 09:24:13 +0000
Resent-Date: Mon, 24 Feb 2020 09:24:12 +0000
Resent-Message-Id: <E1j69yG-000461-V6@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 1j69yA-00044T-1l
	for ietf-http-wg@listhub.w3.org; Mon, 24 Feb 2020 09:24:06 +0000
Received: from mout.gmx.net ([212.227.15.18])
	by titan.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
	(Exim 4.92)
	(envelope-from <julian.reschke@gmx.de>)
	id 1j69y7-0003te-Kz
	for ietf-http-wg@w3.org; Mon, 24 Feb 2020 09:24:05 +0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net;
	s=badeba3b8450; t=1582536225;
	bh=nf0lagn16VcOlWGpYFqV0U5Knz6k/vKOmHvQniZ20cE=;
	h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To;
	b=RZGElpxaZlJ4oGx/D+JhUgFJr3HfV/xhHk3qDNoLkEP8gN2RUvO77phIrVITI2VnC
	 Lz/jpRseL26ZvixuaDXbXu5427El88KIjulyEYj4cMO/k1Doox+jj2GcMdffIkvljs
	 6MEVKjjphY/ZrpX6NaCBnULD4eu3dIyo8S5Tu7LE=
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 1M5wPh-1j37pi1vY3-007Ygt; Mon, 24
 Feb 2020 10:23:45 +0100
To: Mark Nottingham <mnot@mnot.net>
Cc: Tommy Pauly <tpauly@apple.com>, HTTP Working Group <ietf-http-wg@w3.org>
References: <C295C393-9602-4D41-9071-30629605E349@apple.com>
 <1a733857-e621-2ace-ad9a-1e3d872acf25@gmx.de>
 <3B46D138-971F-4602-8E54-4EE903EA5F24@mnot.net>
From: Julian Reschke <julian.reschke@gmx.de>
Message-ID: <5b050bce-4740-4d48-60d5-3ee5678326a9@gmx.de>
Date: Mon, 24 Feb 2020 10:23:46 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101
 Thunderbird/68.5.0
MIME-Version: 1.0
In-Reply-To: <3B46D138-971F-4602-8E54-4EE903EA5F24@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:Kjw9g0DbGFoduNBDnQkLjoOcQMYbK+fX2yhv2eCgmTWLRR6n+/I
 1iOOSgEhF+rkJu+/dZUTDPW1h9y0uSs3rWZ7LZOoZ24/RrhVtJ0/LpIUKZWZermI5qjzf7d
 6UHTgNOW8uJq9oC8hSBIHFDYNZ6biuelYBpOcUMYWVOfvWg81saIOBc7jN1vcCX54HhaNCX
 +RzwCz9U6WTkFkb+ikn0Q==
X-UI-Out-Filterresults: notjunk:1;V03:K0:3hzNSPScRfo=:hv36IToEtXY00jkwOVl6Le
 dze2NvVZaaHqsfm1hixbJIbcAHH3dNnrld1++JdkPx8G7AgZJY3Wld8le/bxmg2MPnOwHk7u8
 1/VcgTNgMJslEoJyHawdamgQOKmMHasCXv1J1tOoSGfgLofpC1AP/BMJqmdC2pdqCbbOj9vWu
 3RoW3N992JiH271FSx8agsO208TRbHvnMau2pCVugKLlFAY+Dc3RPfi2G+GTLpnXmQmjgt3N4
 p6LTN7X0bYgxL0ZlqiOjK1WTygsgUQKcvW6N+4MUIAP+DZCmkb3V7sjbdE4mHqiZqsMdzlyj6
 H3+9uS1n13UtIQesAbzRbruuLOMA8HUvt49oVQGEhuEiB4hkVXV3VWfhr+i3NAVRTN/zPpNGC
 hW8kBgS+ivcbwhrvg38HtdrE/2Z/6qju2apJQkIrhvef3+eIR+HiHibzmCC/b9AUDLZxMlrRs
 MiqW99qC9HaewKgVTLS8gL185n2X2FRn0IFboVNSkhGdgExMKxW5iO5iDN78lYYAgNxFmdfch
 w7r6u2B1ql9YmDz3mOnfz+HEUrwazYSt5R6SvOgY23XUKBonPffbE/e8WWf+Cd3crMVJWQcdV
 VOPx25GWdIkQv2sxNW9EQIrKRAWczCRWb5IjkWdpDlOkb9MDuv4HxJuSrSuckHE1I8MBlDxOF
 bqm545gIbY7R2BuycDjsPpR2O9J8KaBUfiaTyH++WW56kKg6z5P+WIquXnaDjC3SfcRx+OwiJ
 LnnTsgv/xozLPagzMDZXfMgBejaE43GUqoIxQnmni5haZtBl8DDKauuXDpTTaSaKILzvPrZO9
 YBG5YsNLSFuUMFcmTPXxfDVMlVL66s1ZfbMSVfVv7LICUwIY3SgbZshIZ6Tp9dt/kwApXPeBF
 ZohovpSQVgDFHRBCNGOTi4lycP+YEiISEVbu0Vo/6BXI+mHhMY0v8PNRKcp0HNzn/0desk+dU
 Vhw8Jq7EijTcP8gHVByigxyk3l0wyQxL7FsfWm1J3QBtup2hN6quySenA012fy9DgCdIiPd+H
 PaObaGELcW+lR578lVICvK20g044K6bOHfwBoy5XZdVPHrCW6dXjPxFNQ7fub5DUOgFkZMYND
 As6aZfFv+0ECZYNQZEx0XhwjNT7R8u0I5Ait9o4pOdu1cMUYMLG/WWLwID2A5aljxok2NuVLa
 WkEcFQEds/gHq0UR1K3ohjumO/UcYidOYz03nw8itofBk/0JbHE+pnmWJeRbfFNydxdo2lEt3
 ml63/cGypAOvViZwZ
Received-SPF: pass client-ip=212.227.15.18;
 envelope-from=julian.reschke@gmx.de; helo=mout.gmx.net
X-W3C-Hub-Spam-Status: No, score=-8.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, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001, W3C_AA=-1, W3C_IRA=-1, W3C_IRR=-3, W3C_WL=-1
X-W3C-Scan-Sig: titan.w3.org 1j69y7-0003te-Kz 644262c6f50915d979f4b756e3a65db1
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Working Group Last Call: Structured Headers for HTTP
Archived-At: 
 <https://www.w3.org/mid/5b050bce-4740-4d48-60d5-3ee5678326a9@gmx.de>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/37379
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 24.02.2020 00:55, Mark Nottingham wrote:
> ...
>> That said, the title probably should also change from "Structured
>> Headers for HTTP" to something like "Structured Field Values for HTTP
>> Headers and Trailers".
>
> I'm not against that, although it's quite wordy. Anyone else have though=
ts?

Or just "Structured Field Values for HTTP".

>> In the example spec text:
>>
>>> "fooUrl" contains a URI-reference (Section 4.1 of
>>> [RFC3986], Section 4.1). If its value is not a valid URI-reference,
>>> that URL MUST be ignored. If its value is a relative reference
>>> (Section 4.2 of [RFC3986]), it MUST be resolved (Section 5 of
>>> [RFC3986]) before being used.
>>
>> 1. remove ", Section 4.1"
>
> Done.
>
>> 2. use of "URL" comes as as surprise here, maybe just say "field value"
>
> The intent is to ignore the individual URL, not the entire field value.

Ack. But the mix of "URI-reference" and "URL" is just confusing.

> ... >> In Section 3.1.2:
>>
>> ABNF:
>>
>> parameter     =3D ";" *SP param-name [ "=3D" param-value ]
>>
>> Prose:
>>
>> "...parameters are separated from their item or inner-list and each
>> other by semicolons."
>>
>> So there's an unfortunate mismatch between the ABNF production
>> "parameter" (which already includes the ";") and the use of "parameter"
>> in the prose. Maybe worth addressing in the ABNF.
>
> Please take a look at
>    https://github.com/httpwg/http-extensions/commit/b4b8f4a73

LGTM, thanks.

>> In Section 3.2:
>>
>>> Members whose value is Boolean true MUST omit that value when serialis=
ed, unless it has parameters. For example, here both =E2=80=9Cb=E2=80=9D a=
nd =E2=80=9Cc=E2=80=9D are true, but =E2=80=9Cc=E2=80=9D=E2=80=99s value i=
s serialised because it has parameters:
>>>
>>> Example-DictHeader: a=3D?0, b, c=3D?1; foo=3Dbar
>>
>> I guess this is needed in order to avoid ambiguities, but this outcome
>> is really a bit strange. Is there a summary of how we got to that
>> special case somewhere (github issue?)
>
> https://github.com/httpwg/http-extensions/issues/992

Hm, that refers to existing field values, which the spec says are out of
scope.

That said, I *do* agree that the value-less variant is nice for flags;
my question is why we ended up with special-casing this in parameters,
and also why we don't allow serialising with "true" value outside
parameters.

>> In Section 3.3:
>>
>>> An item is can be a integer (Section 3.3.1), decimal (Section 3.3.2), =
string (Section 3.3.3), token (Section 3.3.4), byte sequence (Section 3.3.=
5), or Boolean (Section 3.3.6).
>>
>> Please be consistent in upper/lowercasing...
>
> Boolean refers to a person's name; lowercasing it would be equivalent to=
 saying that your review is reschkean, not Reschkean. Or are you suggestin=
g we uppercase all of them (which might be reasonable, given the next comm=
ent)?

In that case I'd suggest uppercasing for consistency.

>> In Section 3.3.2:
>>
>>> Decimals are numbers with an integer and a fractional component. The I=
nteger component has at most 12 digits; the fractional component has at mo=
st three digits.
>>
>> Same here.
>
> Uppercase is used to refer to the SH-type; lowercase is referring to mat=
hematical concepts.

"Integer component" vs "fractional component".

 > ...

Best regards and thanks for the changes so far,

Julian

