Re: New Version Notification for draft-nottingham-http-availability-hints-01.txt
Mark Nottingham <mnot@mnot.net> Mon, 09 September 2024 07:02 UTC
Received: by ietfa.amsl.com (Postfix) id 34D5AC16942B; Mon, 9 Sep 2024 00:02:14 -0700 (PDT)
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 31CDFC169434 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Mon, 9 Sep 2024 00:02:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.858
X-Spam-Level:
X-Spam-Status: No, score=-7.858 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, HEADER_FROM_DIFFERENT_DOMAINS=0.25, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=w3.org header.b="TgogBqBE"; dkim=pass (2048-bit key) header.d=w3.org header.b="bW1jyyMD"; dkim=pass (2048-bit key) header.d=mnot.net header.b="LrF/DN3U"; dkim=pass (2048-bit key) header.d=messagingengine.com header.b="m+h+2MBl"
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 o4MGND4wP-TV for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Mon, 9 Sep 2024 00:02:09 -0700 (PDT)
Received: from mab.w3.org (mab.w3.org [IPv6:2600:1f18:7d7a:2700:d091:4b25:8566:8113]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8B4C4C16942B for <httpbisa-archive-bis2Juki@ietf.org>; Mon, 9 Sep 2024 00:02:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=w3.org; s=s1; h=Subject:To:References:Message-Id:Cc:Date:In-Reply-To:From: Mime-Version:Content-Type:Reply-To; bh=I1H7i5NrfVelGMDvLIN5EI8kHBaNO40fRv8+kvuypdw=; b=TgogBqBEx09cjDuu2lKmZ4QlJe MTs2Ns3oqNnFqHaL3trOELRH3GGMkPzEiDhmHJb2ZQ7YeAUWDbHqvCXUHbdNfH1uLiTXTJ1EbbKPv PZQeRdNoXViM1i6Pa0zVpouq6+fmgmWBWkHJVVOpGjvFuG11A+NM4YHqLuI6yV6GzKovJYDIdMZyl 5D49/iE0jzD5ymkP3EphmOwMaavF6upx81+lUKc578ZttTxqB7gNhfTEvi66JlXr91+HlOxpfjXov 7Lu3RbgS8pKzy6fBBMlYkUhX/FEzT/RNA5YhcjFYjuJOi9wTPzHLhd5PsbkM6FzdfDlyV4XL3c1zI aE0l5HlA==;
Received: from lists by mab.w3.org with local (Exim 4.96) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1snYOc-00Gj38-1c for ietf-http-wg-dist@listhub.w3.org; Mon, 09 Sep 2024 07:01:10 +0000
Resent-Date: Mon, 09 Sep 2024 07:01:10 +0000
Resent-Message-Id: <E1snYOc-00Gj38-1c@mab.w3.org>
Received: from ip-10-0-0-224.ec2.internal ([10.0.0.224] helo=puck.w3.org) by mab.w3.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from <mnot@mnot.net>) id 1snYOZ-00Gj28-2j for ietf-http-wg@listhub.w3.internal; Mon, 09 Sep 2024 07:01:07 +0000
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=w3.org; s=s1; h=To:References:Message-Id:Cc:Date:In-Reply-To:From:Subject: Mime-Version:Content-Type:Reply-To; bh=I1H7i5NrfVelGMDvLIN5EI8kHBaNO40fRv8+kvuypdw=; t=1725865267; x=1726729267; b=bW1jyyMDbV6KJ9bWqHTzLHU4OCJ7t8cZ9KxUxqc+bpTfSlFEQDfjBM+VhhzLvfXHXWIU2D06cjJ hCxU68mhAC7C9DH85bZnjIYfC/xVRglT60saODIybdDcRDCynnQeLA7XDKD4xTpB226jXnQyG/+wq K5YC5LNFnyjOEk6VrHWZwoD+v+TdIm8QRTjYkUopWdcXnjcMB+0Z2NMQfwI5wqjYS9P4XP4bRmIje q7RDfQOgdPAqvA7mDJF85+pJUAXc5tMs04dpKW/8iv1LwXW5xCREg2RqrZd+XmZhVQdZhh1wWKf2L M/IDWFn8lNWBRoGqRDYzMrQ6HIIPrG34zUnA==;
Received-SPF: pass (puck.w3.org: domain of mnot.net designates 103.168.172.158 as permitted sender) client-ip=103.168.172.158; envelope-from=mnot@mnot.net; helo=fhigh7-smtp.messagingengine.com;
Received: from fhigh7-smtp.messagingengine.com ([103.168.172.158]) by puck.w3.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from <mnot@mnot.net>) id 1snYOV-003C6z-1y for ietf-http-wg@w3.org; Mon, 09 Sep 2024 07:01:07 +0000
Received: from phl-compute-03.internal (phl-compute-03.phl.internal [10.202.2.43]) by mailfhigh.phl.internal (Postfix) with ESMTP id 3E5D711401FA; Mon, 9 Sep 2024 03:01:00 -0400 (EDT)
Received: from phl-mailfrontend-01 ([10.202.2.162]) by phl-compute-03.internal (MEProxy); Mon, 09 Sep 2024 03:01:00 -0400
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=fm2; t=1725865260; x=1725951660; bh=I1H7i5NrfVelGMDvLIN5EI8kHBaNO40fRv8+kvuypdw=; b= LrF/DN3ULi977IH/wLZZYi5cYi8ujUuJQQNCerY1AJ9P3mnWEzVnhyX+j2x6twwW 27WOokKuYkJbPOludbyQCC9J9+oSiLd57m/QCNfqeKT5zFEV6iyu+RGCA/Vez6J5 U7z6wewDu7MEc9Civm0WB/yR3mbvQWOtfdx5lOC3r3K8c4XqzkiT0G5F6RBeKOby OWSVdwJ14EZ8PZ8/ObzesYMWSmiAFrSoLniJ4sh4hayAZBU+ILNEpCMd4TxMbPR+ eZwQP2prcrg9GUPihS9OXA7IeTFOf2ItVlMGlvhPMkfKQTzx4pYxvQ+ubQjzc295 IyoTwaJrQxClD9qKb4o8Jg==
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=fm1; t=1725865260; x= 1725951660; bh=I1H7i5NrfVelGMDvLIN5EI8kHBaNO40fRv8+kvuypdw=; b=m +h+2MBl7wwGweRMvlGfCnkynSk7EUNZe7EIsTd3qQ7xgN6h5eNaGdy7RxnJPZf46 roj5CP78L4rZOtWEe2enDRr89fA9fHDOrDF+sVkT4GHgQEAcG10d2Yx57gSDCIa4 ZsWiHg2DYA3v/99jONYrzJpDzbps130mjUi4nVAE5ePP0/SjPc//2cIHHUuvakiW dLFga3FvbzaYaV7NfLXr2IMggexnNTom19zmFkskrrX+5yepsZBsjq2hzx/FIEjr qWT1NHAlYMeXWipOuhLYM5f/ytk2EofT3RHBPkglQ4u8V3hTJAYnCZ6gMbMRmrl6 52gCB5cNoPuE3cfQLMCmQ==
X-ME-Sender: <xms:K53eZl6lABWFLnfPl65ElSxTw59w_1h71wRSLrrXOVefXjmxkvVr1A> <xme:K53eZi75dsQC_czRT9uPHJBMb8Fj4sv_1Db0p7w88uKzKoPmGXVKH-bCRoVEHH6bN jJ-EC7IwmUbO_LCZA>
X-ME-Received: <xmr:K53eZsfETxyN9mYwxAYkZCcnk6DmjS_fAX3i9aV6Xu0SZTmRWrhV80FltU2Z0fd42ajmjAOGjGH_JRlBzQIyZ3vzg01RAuE6RaIXNlI44XzxuV5JAs-JzknK>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrudeiiedgkeeiucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh htshculddquddttddmnecujfgurheptggguffhjgffvefgkfhfvffosehtqhhmtdhhtdej necuhfhrohhmpeforghrkhcupfhothhtihhnghhhrghmuceomhhnohhtsehmnhhothdrnh gvtheqnecuggftrfgrthhtvghrnhepueeghffgheffkeelvddvteehgeekveelfefhhefh jeehjeduieetgfelffetkeegnecuffhomhgrihhnpehhthhtphgtrggthhgvrdhsohdplh hinhhkvgguihhnrdgtohhmpdhmnhhothdrnhgvthenucevlhhushhtvghrufhiiigvpedt necurfgrrhgrmhepmhgrihhlfhhrohhmpehmnhhothesmhhnohhtrdhnvghtpdhnsggprh gtphhtthhopedvpdhmohguvgepshhmthhpohhuthdprhgtphhtthhopehvrghlvghnthhi nhdrghhoshhusehgmhgrihhlrdgtohhmpdhrtghpthhtohepihgvthhfqdhhthhtphdqfi hgseiffedrohhrgh
X-ME-Proxy: <xmx:LJ3eZuL-GPdCPxm0rq6p0bu-xG9L-uiespVN7JZjaSAYYYIZJn2URw> <xmx:LJ3eZpJWP9uj0qV7ZavCqpBGPCatUC0YYCX_2LvXc50025YI17C8lQ> <xmx:LJ3eZnykPS3PFkEHA_J8B-OH48WiGcvVuGSgXkyRMwtN9IAI4M_J_Q> <xmx:LJ3eZlIC9EEjmujREkHYovLzsJ5G-heU-LJ0VKnH2vCtubR7q0S0wg> <xmx:LJ3eZp2dr80aBrV1rW_1fCxVkTjvME4QD0hTPnomQoVWkIavLvStm9KH>
Feedback-ID: ie6694242:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 9 Sep 2024 03:00:58 -0400 (EDT)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3776.700.51\))
From: Mark Nottingham <mnot@mnot.net>
In-Reply-To: <CACQYfiLo33WtkLCOLcZdJJOah7OGJBZju9ekRzF0xJm5MuUhSw@mail.gmail.com>
Date: Mon, 09 Sep 2024 17:00:56 +1000
Cc: HTTP Working Group <ietf-http-wg@w3.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <8E8B0B9E-3D2C-44A6-9BC9-58F62AC0BEEA@mnot.net>
References: <CAEmMwDwFmK_wuQg4gnjj4rbVr5Wb_m+f3MFuTXFmA7ZMCvMKEA@mail.gmail.com> <AFB140A5-1611-49ED-9C33-9E5675201286@mnot.net> <CAEmMwDzHKF=ZP4t80YMB9F_Y3kNie2HLR_11eiYPr5+cLGagqw@mail.gmail.com> <AE0EDA5C-717E-4EE2-980D-E911B1B28CA6@mnot.net> <CACQYfiLo33WtkLCOLcZdJJOah7OGJBZju9ekRzF0xJm5MuUhSw@mail.gmail.com>
To: Valentin Gosu <valentin.gosu@gmail.com>
X-Mailer: Apple Mail (2.3776.700.51)
X-W3C-Hub-DKIM-Status: validation passed: (address=mnot@mnot.net domain=mnot.net), signature is good
X-W3C-Hub-DKIM-Status: validation passed: (address=mnot@mnot.net domain=messagingengine.com), signature is good
X-W3C-Hub-Spam-Status: No, score=-9.1
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, DMARC_PASS=-0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, W3C_AA=-1, W3C_DB=-1, W3C_IRA=-1, W3C_IRR=-3, W3C_WL=-1
X-W3C-Scan-Sig: puck.w3.org 1snYOV-003C6z-1y 70a2c7b269f9f9364b298a9ebae07359
X-Original-To: ietf-http-wg@w3.org
Subject: Re: New Version Notification for draft-nottingham-http-availability-hints-01.txt
Archived-At: <https://www.w3.org/mid/8E8B0B9E-3D2C-44A6-9BC9-58F62AC0BEEA@mnot.net>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/52267
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/email/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>
Hi Valentin,
Thanks, I'll fix this up in the next revision.
Cheers,
> On 4 Sep 2024, at 7:39 PM, Valentin Gosu <valentin.gosu@gmail.com> wrote:
>
> Hi Mark,
>
> I have some feedback regarding the Cookie Section.
>
> > Note that this algorithm requires storing the cookies from the associated request with each response.
>
> In Firefox we currently store a hash of the Cookie header instead of the actual cookie value in order to deal with Vary: Cookie.
> This is because the cookies could be large in size, and because we don't want potentially sensitive information contained in cookies to be persisted in the HTTP cache.
> So I think you can implement the algorithm without storing the actual cookies in the response.
>
> I'm also wondering if this section should mention that the response may include a `Set-Cookie` header with one of the indices.
> I don't think anything special would need to happen, apart from this immediately invalidating the cache entry.
>
> Thanks
>
> On Wed, 10 Jul 2024 at 03:30, Mark Nottingham <mnot@mnot.net> wrote:
>
> > On 10 Jul 2024, at 2:33 AM, Rory Hewitt <rory.hewitt@gmail.com> wrote:
> >
> > The 'header explosion' concern is only part of it. My main point is that using a single well-crafted header can both fill in the holes and also provide more explicit preference information - covering the exact edge-cases you mention in the design.
>
> The Variants header took that approach -- the WG came to the conclusion that it wasn't workable, due to the complexity and difficult in understanding. This is an attempt to split it up and simplify the space, and it seems to be getting traction (e.g., partial prototyping in Chrome).
>
> > However, if you'd prefer to use multiple headers, I would strongly suggest that you change "Cookie-Indices" to "Avail-Cookie" or "Avail-Cookie-Indices" - all the related headers should have a common "Avail-*" prefix, no?
>
> As the draft says, it's just a convention. The field names aren't automatically processed.
>
> Cheers,
>
> >
> > On Tue, Jul 9, 2024 at 12:29 AM Mark Nottingham <mnot@mnot.net> wrote:
> > I'm not too concerned about an explosion of headers -- it only becomes an issue if a resource negotiates on many axes, and even then things like header compression work in our favour (splitting them into separate headers often helps header compression). Client Hints took the same approach, and I like the symmetry with them.
> >
> > Cheers,
> >
> >
> > > On 9 Jul 2024, at 8:29 AM, Rory Hewitt <rory.hewitt@gmail.com> wrote:
> > >
> > > Hey Mark,
> > >
> > > My primary concern with this is the possible proliferation and over-extensibility of `Avail-*` headers.
> > >
> > > This document includes Avail-Encoding|Format|Language|ECT (ECT is a likely addition eventually) and Cookie-Indices, but those may need to be extended in the future, leading to a large number of headers.
> > >
> > > To use the example you provide in the Introduction section:
> > >
> > > Vary: Accept-Encoding, Accept-Language, ECT
> > > Avail-Encoding: gzip, br
> > > Avail-Language: fr, en;d
> > > Avail-ECT: ("slow-2g" "2g" "3g"), ("4g");d
> > >
> > > Naively, would it not make more sense to have a single *Available-Responses* header, like this (apologies if the syntax isn't quite correct for structured fields):
> > >
> > > Vary: Accept-Encoding, Accept-Language, ECT
> > > Available-Responses: enc=gzip,br;lang=en,fr;ect=("4g"),("slow-2g" "2g" "3g")
> > >
> > > Of course, this includes some assumptions:
> > >
> > > 1. The first option is the default - we have traditionally not done that, and used things like Q-values (ugh!), but with brand new headers, does it not make sense to start implementing a higher-level standard that where multiple values are specified, they should be specified in a prioritized list? For any given listable header, both clients and servers know a preference order, and that should be implicit in the headers they send and receive. Is this complete heresy to even suggest this?
> > > 2. This may be less efficient when using things like QPACK static tables to hold 'commonly-used' header values, but I don't believe that's something that anyone is worrying about yet...
> > >
> > > On the plus side, it (kinda) simplifies the header size (not a big issue with Huffman encoding and first-subsequent responses), but to me, having a single response which specifies all the available response types is an improvement to having multiple headers. As new response axes becomes available, they can simply be added to the existing header.
> > >
> > > Additionally, it can be extended to include all the 'holes' and various axes of preference mentioned - for example, the following shows that the English-gzip is preferred over the French-brotli version (while still making it clear that French-gzip and English-brotli versions are available - the preference order symbolized here is explicitly:
> > >
> > > en-gzip
> > > fr-gzip
> > > fr-br
> > > en-br
> > >
> > > based on the parenthesized grouping:
> > >
> > > Vary: Accept-Encoding, Accept-Language, ECT
> > > Available-Responses: (enc=gzip;lang=en,fr),(enc=br;lang=fr,en);ect=("4g"),("slow-2g" "2g" "3g")
> > >
> > >
> > > To use an example of a 'hole', if a French-gzip version IS NOT available, you'd have this:
> > >
> > > Vary: Accept-Encoding, Accept-Language, ECT Available-Responses: (enc=br;lang=fr),(enc=gzip,br;lang=en);ect=("4g"),("slow-2g" "2g" "3g")
> > >
> > > which identifies the following preference order:
> > >
> > > br-fr
> > > en-gzip
> > > en-br
> > >
> > > An English client can use *either* gzip or br (gzip is preferred), but a French client can *only* get a brotli response. Crucially though, French-brotli is still preferred to either English-gzip or English-brotli, even though there's only a single encoding option for French.
> > >
> > > Rory
> > >
> > > --
> > > Rory Hewitt
> > >
> > > https://www.linkedin.com/in/roryhewitt
> >
> > --
> > Mark Nottingham https://www.mnot.net/
> >
> >
> >
> > --
> > Rory Hewitt
> >
> > https://www.linkedin.com/in/roryhewitt
>
> --
> Mark Nottingham https://www.mnot.net/
>
>
--
Mark Nottingham https://www.mnot.net/
- Fwd: New Version Notification for draft-nottingha… Mark Nottingham
- Re: Fwd: New Version Notification for draft-notti… Rory Hewitt
- Re: New Version Notification for draft-nottingham… Mark Nottingham
- Re: New Version Notification for draft-nottingham… Rory Hewitt
- Re: New Version Notification for draft-nottingham… Mark Nottingham
- Re: New Version Notification for draft-nottingham… Valentin Gosu
- Re: New Version Notification for draft-nottingham… Jeremy Roman
- Re: New Version Notification for draft-nottingham… Mark Nottingham