Re: Requesting change to Accept-Encoding [was Re: Compression Dictionaries draft 04]
Patrick Meenan <patmeenan@gmail.com> Tue, 21 May 2024 23:44 UTC
Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=ietf.org@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 C9BD1C1C3D56 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 21 May 2024 16:44:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.848
X-Spam-Level:
X-Spam-Status: No, score=-7.848 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.249, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, 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="fYJu9GVF"; dkim=pass (2048-bit key) header.d=w3.org header.b="P60TL6+B"; dkim=pass (2048-bit key) header.d=gmail.com header.b="VIXbZlTj"
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 dkpdbxKWg_fC for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 21 May 2024 16:44:19 -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 D37FDC19ECBE for <httpbisa-archive-bis2Juki@ietf.org>; Tue, 21 May 2024 16:44:18 -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=iBROgWS3OzHxUJV45Ie79jyZSxSXxQxdudob6Np8vaA=; b=fYJu9GVF0L5EPJzYiDWQORtcfv /rtcx9ud9t0evwXfAaY3j2xXtBKAaCO8wA4NB6tkcUmM/wQp+zw/OTRR6tDrqJC6yw7DiJx5cXMjS ng/Oka/NR+G35LHI9fq4qypJPfu4x4uE9889o/qDcDm372Nl+Ydjj9gzhkuwBZZZgmDbU9VUlEBoY OLMSg/0YofBXfKttTLg9kJG1ManBtfbdodD3piXwfS9tRBRvtCabK570dkaU8rtV0rkY9tP/NLE+H fEaVERbV0qUXZXyV+FKaS+v31WDaKfCuHxKPfqn1YVNjN+nhgtzGblvZEDrvDK0t2/taz1xM5do/n E3oKEbaQ==;
Received: from lists by mab.w3.org with local (Exim 4.96) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1s9Z8s-00GJHg-0w for ietf-http-wg-dist@listhub.w3.org; Tue, 21 May 2024 23:43:38 +0000
Resent-Date: Tue, 21 May 2024 23:43:38 +0000
Resent-Message-Id: <E1s9Z8s-00GJHg-0w@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 <patmeenan@gmail.com>) id 1s9Z8r-00GJGh-0H for ietf-http-wg@listhub.w3.internal; Tue, 21 May 2024 23:43:37 +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=iBROgWS3OzHxUJV45Ie79jyZSxSXxQxdudob6Np8vaA=; t=1716335017; x=1717199017; b=P60TL6+BRePGiZ3G3aRJ7ZxBU+tEc3IMUVxpx9Fw8ZAzJaVTQanTyFryRopUv2yFyry6Rrkdlpw J8Lrt6GCXdDCcc3EjRK7mtZeTzDnSqKmcxT+HcZXuVYYlImeuK0laeAAoO+6bcL/8XbA0C2sJOPyV JPzvR59SdbnZ2RNjFjSO/1yxSud6EXqkw6ZrrvKqvr0vDn5YJTyZ9zCeN0w/0iagGWA6rIEyif40g xqkNIJ+3egzGx2hHqLR/vhmq83vFW9JJeBP8FzAeoXuG8N0wrb7dV+Y20yDJyTPXJ3ZQ3sm79DtsS kdLYIRu7zymf3WEAhOSaF6r3J8H9+PDRTp0A==;
Received-SPF: pass (puck.w3.org: domain of gmail.com designates 2a00:1450:4864:20::630 as permitted sender) client-ip=2a00:1450:4864:20::630; envelope-from=patmeenan@gmail.com; helo=mail-ej1-x630.google.com;
Received: from mail-ej1-x630.google.com ([2a00:1450:4864:20::630]) by puck.w3.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from <patmeenan@gmail.com>) id 1s9Z8q-00HCtZ-0p for ietf-http-wg@w3.org; Tue, 21 May 2024 23:43:36 +0000
Received: by mail-ej1-x630.google.com with SMTP id a640c23a62f3a-a59cdd185b9so66187766b.1 for <ietf-http-wg@w3.org>; Tue, 21 May 2024 16:43:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1716335012; x=1716939812; 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=iBROgWS3OzHxUJV45Ie79jyZSxSXxQxdudob6Np8vaA=; b=VIXbZlTjIcaThE2jgncgEQdsWCGjE8aCctaF96yADARu7P7aKOE/yCXjWPFd1EvOs7 JGjafQ80h950u6rVZ013xhqbKGln1uvTCLVCwI0wTShaL8Q/4ULdZsyRZRPFiDYdLwVN l5vvOijejBQYcxEkkiXDqUvNzYtE8KirRXG0mrh2VEHcTla/8ox89qcS7cAe/ggyNhCq 5H2Wcxq2f4SUIuI1c+VE7EMf0/Fao71Ig87pgqtDvap3ATl1imlhv5YhcwYtW0BWDuk9 53tBhX7x1Zkzne72nEUG+6CvKaENX9arkCkL8ctlLzG4Th+itFMW3BiSw0HqvPS4A1UP /ARw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1716335012; x=1716939812; 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=iBROgWS3OzHxUJV45Ie79jyZSxSXxQxdudob6Np8vaA=; b=D4NOr/QcjfmgZGbcLMrmD4nZxJxHjXV3iCEC6rRMDEdL64QkgfbpUWyr8P4JhT9TPt I5RsXtadRzAd5UbtkuHSsUwOX1dKKgSZmxHLT4pN4TSsvlXqkR7XX9qZIVm7Mmdd6Vfx WiFpAIGbIigwpFOOUsvpTWdeNqRlnSgwGgtxUbDqTeHxYh8qeubZslpWTx8NuCVIasSo 5mAOwS/2fLB5oQtzzvqxSspevxTPaP5AJYG9Q2DGECNf2QkaziCEdZDmuTu27C+wkrWr tQJUJ0qXI+qbOZXkK04sOWzxjyr/WgPrSlVyTTLuHNR/dEoMwFXyexXIQv/iwWNQj5aH XSeg==
X-Gm-Message-State: AOJu0YwiarvcX3vHm+PbtwDlhDIYrsBKzcCtSEhhWXcT5PBSsMXzRHMf kqRZko1kebcZ4bpS8vFcGQPHq/g3tLKKy+PizE217gXLgqYQshxdxwpfo8si3640bwbbtiGhB1e 640N5e3cWa/4mE2G/tY8p8JiCT9H1zA==
X-Google-Smtp-Source: AGHT+IFmsPVP5NE+MQP8z+SPYOWIn3QbGJcJt1O8MgFuGGa+DBQAMUcz2JNYpaPqIX6tprnG7rxU3EkYwukSgRbs9xc=
X-Received: by 2002:a17:906:d114:b0:a59:c807:72d3 with SMTP id a640c23a62f3a-a622314979amr35973466b.17.1716335011877; Tue, 21 May 2024 16:43:31 -0700 (PDT)
MIME-Version: 1.0
References: <CAJV+MGwvDCxS6D0Cxi=oGYwpXH1N7RJ9wwDRwj8Lieotz315Ag@mail.gmail.com> <6E4C10C3-C3BA-43FD-96AA-5EECE2B2BB13@gbiv.com>
In-Reply-To: <6E4C10C3-C3BA-43FD-96AA-5EECE2B2BB13@gbiv.com>
From: Patrick Meenan <patmeenan@gmail.com>
Date: Tue, 21 May 2024 19:43:20 -0400
Message-ID: <CAJV+MGwZ0y7gGifAbC2zpn=3rXA0OQpeh3mpKaR6PGQ=7NirVw@mail.gmail.com>
To: "Roy T. Fielding" <fielding@gbiv.com>
Cc: HTTP Working Group <ietf-http-wg@w3.org>
Content-Type: multipart/alternative; boundary="000000000000b2ddaa0618ff62ba"
X-W3C-Hub-DKIM-Status: validation passed: (address=patmeenan@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_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, W3C_AA=-1, W3C_DB=-1, W3C_WL=-1
X-W3C-Scan-Sig: puck.w3.org 1s9Z8q-00HCtZ-0p 028231c580ee8a346c22706638af7a81
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Requesting change to Accept-Encoding [was Re: Compression Dictionaries draft 04]
Archived-At: <https://www.w3.org/mid/CAJV+MGwZ0y7gGifAbC2zpn=3rXA0OQpeh3mpKaR6PGQ=7NirVw@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/51958
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>
Thanks. I'll get that rolled into the next draft. That matches what Chrome does in the current trial and makes it clear that the dictionary encodings are only available when there's a dictionary to use. On Tue, May 21, 2024 at 6:38 PM Roy T. Fielding <fielding@gbiv.com> wrote: > > On May 20, 2024, at 7:49 AM, Patrick Meenan <patmeenan@gmail.com> wrote: > > > > FYI, draft 04 of the compression dictionaries spec was just released: > https://datatracker.ietf.org/doc/draft-ietf-httpbis-compression-dictionary/ > > > > The changes since draft 03 are: > > > > - Added link relation ("compression-dictionary") > > - Moved the dictionary hash into the response payload and removed the > "Compression-Dictionary" response header > > - Changed content-encodings to "dcb" and "dcz" > > - Specified the compression window settings for Zstandard and Brotli > > > > We're converging on a final spec and the Chrome origin trials to-date > have been extremely positive. > > > > There is one remaining discussion topic that I'm aware of which is > around the compression algorithms that we spec and if we should collapse to > a single algorithm and manage fragmentation at the spec level: > https://github.com/httpwg/http-extensions/issues/2756 > > > > If you're aware of any other issues or have concerns with something else > in the spec, please let us know. Otherwise we're hoping to come to an > agreement on the compression algorithms and then move towards last call and > RFC. > > > A server can send Use-As-Dictionary when applicable to any response, > regardless of Accept-Encoding or user agent. This allows the original > 200 response to be delivered without unnecessary Vary, and by edge > caches that might have no knowledge of dictionaries. That's great. > > However, I would like to change the protocol in 6.1 (Accept-Encoding) > to require the following: > > o When (and only when) a client has a stored dictionary that > matches a request, it can send Available-Dictionary and > Accept-Encoding with its dictionary-compression encodings. > > o When a client does not have a stored dictionary that matches > the request, or chooses not to use one for the request, > the client MUST NOT send its dictionary-compression > algorithms in Accept-Encoding. > > IOW, I would require that clients not advertise their implemented > dictionary-compression encodings in Accept-Encoding for requests > that do not desire a dictionary-compression response, since such > unnecessary variance in HTTP can have a critical impact on caching. > This is consistent with the semantics of Accept-Encoding. > > This change would allow dictionary-based compression to be deployed > for existing resources and existing CDNs without causing a > factorial expansion of Vary. IOW, it allows dictionary-compression > to be deployed without impacting the cacheability of resources > for non-dictionary-using clients. > > The one negative is that it lessens the ability to detect when > dictionary-compression is usable before a dictionary is provided. > I am pretty sure we don't need that. > > A 200 response that has been dictionary-compressed would, of course, > still be marked with "Vary: Accept-Encoding, Available-Dictionary" > and the chosen encoding given in "Content-Encoding". This would > not be affected by the above change. > > The possibility of multiple cached responses for a given response, > each with its own Vary from its original request, is already defined > by HTTP caching. I doubt that everyone implements it correctly, > but that's not unusual. There's no other correct choice given how > origin servers select negotiable content. > > Cheers, > > ....Roy T. Fielding, Senior Principal Scientist, Adobe > >
- Compression Dictionaries draft 04 Patrick Meenan
- Requesting change to Accept-Encoding [was Re: Com… Roy T. Fielding
- Re: Requesting change to Accept-Encoding [was Re:… Patrick Meenan