Re: New Version Notification for draft-nottingham-http-availability-hints-01.txt
Rory Hewitt <rory.hewitt@gmail.com> Tue, 09 July 2024 16:35 UTC
Received: by ietfa.amsl.com (Postfix) id 0E349C1D4A88; Tue, 9 Jul 2024 09:35:27 -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 0D825C15153F for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 9 Jul 2024 09:35:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.857
X-Spam-Level:
X-Spam-Status: No, score=-7.857 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, HTML_MESSAGE=0.001, 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="Xz0Rto6h"; dkim=pass (2048-bit key) header.d=w3.org header.b="pjQRdGxm"; dkim=pass (2048-bit key) header.d=gmail.com header.b="MJqrBJ6a"
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 9bGW5FuFO_Gx for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 9 Jul 2024 09:35:23 -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 RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1474CC151717 for <httpbisa-archive-bis2Juki@ietf.org>; Tue, 9 Jul 2024 09:35:23 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=w3.org; s=s1; h=Subject:Content-Type:Cc:To:Message-ID:Date:From:In-Reply-To: References:MIME-Version:Reply-To; bh=1mwqfxOEYM1RODtWCq80hJA1MzQViwgTS1LY62v6xFM=; b=Xz0Rto6h1RgQwKBh3ZGyZxw/wv /gIKMlbifQ/jnTAe5HYnU2Zz272vIcm/XaCOsGWr4Oyb6Nnm29s+cPwRSQ1VbvvM4CrS63wOivoTO CVuj8fOXCfSZ8QKpjiJjQjZU0vJTxwjsRlP37a8KOL2fhYGoyeVyErgTMBgs+j4BiNOyW1IfEwSG9 dgwHUDxpRZql2uACnKEWLcCEnHaf/eL5yFRg4hGTlyflonvLLUqXKI0HbN1cEtyAhItkpL/J5US1V CYgzuEjTPK+GvYcjTSQkIvJAe7Hv7RMpaCn6xR/lRt0FzMCEYXok4CZxMkKzzRNzsW07V0rHPH4au l9kqSyZw==;
Received: from lists by mab.w3.org with local (Exim 4.96) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1sRDnG-00DewY-35 for ietf-http-wg-dist@listhub.w3.org; Tue, 09 Jul 2024 16:34:18 +0000
Resent-Date: Tue, 09 Jul 2024 16:34:18 +0000
Resent-Message-Id: <E1sRDnG-00DewY-35@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 <roryhewitt@gmail.com>) id 1sRDnD-00Devd-1t for ietf-http-wg@listhub.w3.internal; Tue, 09 Jul 2024 16:34:15 +0000
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=w3.org; s=s1; h=Content-Type:Cc:To:Subject:Message-ID:Date:From:In-Reply-To: References:MIME-Version:Reply-To; bh=1mwqfxOEYM1RODtWCq80hJA1MzQViwgTS1LY62v6xFM=; t=1720542855; x=1721406855; b=pjQRdGxmiZ/aW8/xFrz667NhCCvw/HPHsq7gwzAdWn/UDAvzzryV8SzlRbc5LFwqlcOzqbJvc4o i19GkgItDYXwz20H/IDwe5uQxuc0xkcbwR8hiXD4X8oafIIt+WM/neUqD6er/TOE5MnyeudcFZ0Kc F8nazzb91dxMOUnyio+wf/19y0vLZYkOD+enlGGv3iTnWZJemsPogfNf41XmM8oJ6lKQCNqNLkpKr CIhd/RodSPGPtrV4V9ObJvUF+UDFBYtk9zuYyYDHv3w9ZLOW6bp809bLcV2nOyYyQdfvnELksHDP0 rVjgX6k2PRdIxWz6Dc5SxQlghrpI75+IjAjQ==;
Received-SPF: pass (puck.w3.org: domain of gmail.com designates 2a00:1450:4864:20::234 as permitted sender) client-ip=2a00:1450:4864:20::234; envelope-from=roryhewitt@gmail.com; helo=mail-lj1-x234.google.com;
Received: from mail-lj1-x234.google.com ([2a00:1450:4864:20::234]) by puck.w3.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from <roryhewitt@gmail.com>) id 1sRDnC-00GQoH-2M for ietf-http-wg@w3.org; Tue, 09 Jul 2024 16:34:15 +0000
Received: by mail-lj1-x234.google.com with SMTP id 38308e7fff4ca-2ee90dc1dc1so52331191fa.3 for <ietf-http-wg@w3.org>; Tue, 09 Jul 2024 09:34:14 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1720542850; x=1721147650; darn=w3.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=1mwqfxOEYM1RODtWCq80hJA1MzQViwgTS1LY62v6xFM=; b=MJqrBJ6acmGkk+WTZTij8dq/Ev0kmXPIuIFTApJPfyB4b5Fh2xiBthdHGn/FK3o7KZ E+jCVQYLkD14eDzMpRlA+G4OqOXLL2dAzJT9ZadMnbNL/kIfFFYE1TpGO8Y69nCTaF7k SYIIyNTS+5/E5gIgiE/6bmHoKHzc9xzQqluLMZLEbg+8PYl/7XjCrEU10gHiUMSrD+et ScPEGhdQ6xVHTc5ujXlraXlFy+t3wfh3ZXbEEuXiWnSiHZpP3H6xoTIor4zUvB5n+pQK R7AhEIyUaZz7497MpQ/qB+GUTOeVVayEguap1y4GQco3lmhfActKMZC3vg6KWULgY7Wo xARA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1720542850; x=1721147650; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=1mwqfxOEYM1RODtWCq80hJA1MzQViwgTS1LY62v6xFM=; b=wU64PT8cuvH0s0KlCcW/eXmJA5ePdf/rto7fEBoByshun+ZcEt2J01sRVVH8deC37W LBCKOczaS/4KZayVecFyYgUqRV84SP+atCYITDNULIN/VPctFxJfxutUjuGuOITUa5is pAHqnkFhs6TCGddrAdI73+F2MsN0cMR+FnWgJCY+f6bkOLWLLPfAYDpYWSmXPKZHpZq8 8m3Zvqn/bQmWawTquHHPhfIjphdy96IExHU8jSTBO/nM49aL9a28X3soLGnpCzph9p7M REqSbcTlzNI90WoAriZ15r9Y2bXoa8M8rpAqGxC/wh+52P8ncNHOMyTlQ40UquZY7uiM Ifcg==
X-Gm-Message-State: AOJu0Yxix5q1O4Da8grUpbDNN48a1MPfoCDCnfzF4o3/jPnVh3ZTdRDo 93cddP9PmJmrOFOfhJaahiWlSouHUeiCx2xFyMqCFYWZC7iTFcJyZby5UOcnjeEdyRmQ+KOCc07 WFyd0XI5lkqZ1I5S73wNUy39GIiqbCmYS
X-Google-Smtp-Source: AGHT+IEbUROyVCHAgcQRkyCe192boK8a1ksSEh+M1zGNIN8OlOTMz75gI2JQ0S1my5zra45hp9AnpmWd+2etuaxwp1g=
X-Received: by 2002:a2e:b0f2:0:b0:2ee:6254:f9ee with SMTP id 38308e7fff4ca-2eeb3171857mr22828691fa.42.1720542849702; Tue, 09 Jul 2024 09:34:09 -0700 (PDT)
MIME-Version: 1.0
References: <CAEmMwDwFmK_wuQg4gnjj4rbVr5Wb_m+f3MFuTXFmA7ZMCvMKEA@mail.gmail.com> <AFB140A5-1611-49ED-9C33-9E5675201286@mnot.net>
In-Reply-To: <AFB140A5-1611-49ED-9C33-9E5675201286@mnot.net>
From: Rory Hewitt <rory.hewitt@gmail.com>
Date: Tue, 09 Jul 2024 09:33:58 -0700
Message-ID: <CAEmMwDzHKF=ZP4t80YMB9F_Y3kNie2HLR_11eiYPr5+cLGagqw@mail.gmail.com>
To: Mark Nottingham <mnot@mnot.net>
Cc: HTTP Working Group <ietf-http-wg@w3.org>
Content-Type: multipart/alternative; boundary="00000000000060a494061cd3192d"
X-W3C-Hub-DKIM-Status: validation passed: (address=roryhewitt@gmail.com domain=gmail.com), signature is good
X-W3C-Hub-Spam-Status: No, score=-5.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, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, W3C_AA=-1, W3C_DB=-1, W3C_WL=-1
X-W3C-Scan-Sig: puck.w3.org 1sRDnC-00GQoH-2M e3d4b16568377d4d9407975afbd01fa0
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/CAEmMwDzHKF=ZP4t80YMB9F_Y3kNie2HLR_11eiYPr5+cLGagqw@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/52059
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>
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. 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? 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
- 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