Re: Working Group Last Call: Compression Dictionary Transport
Patrick Meenan <patmeenan@gmail.com> Thu, 13 June 2024 13:52 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 31F21C15199D for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 13 Jun 2024 06:52:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.859
X-Spam-Level:
X-Spam-Status: No, score=-2.859 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_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=w3.org header.b="SNuQ5j8o"; dkim=pass (2048-bit key) header.d=w3.org header.b="jja/NkKR"; dkim=pass (2048-bit key) header.d=gmail.com header.b="eWazf8xh"
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 gA-zJp6P0bt4 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 13 Jun 2024 06:52:17 -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 49E53C151997 for <httpbisa-archive-bis2Juki@ietf.org>; Thu, 13 Jun 2024 06:52:17 -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=SAwWvSmSd6dKjHwCLE97w2gwghIBucppZSi9rR48rT8=; b=SNuQ5j8oCEleIzc4OsPI/JoGJ8 6eYP6OtKwEXOG/N9vIz0qwgGhAB2lII7roLBE5acndNjx1UlLje4x2VEHM3NHngjqSlwzH3UoAuoP rRNNkZO1SQpUjCSdnmSjlSsFdqG65WFDuPT5WDf/MmKCWJj5ftDaMvnzAzqhTA55ivlzhxQsVJO3U wQD5owYWUl+yP8Dv0CyZ8qpx5lgHGZF+v72EXcs/2mIRz0HhS8czlQT09MNv62gRslVUsyZk1SeCY eJhigRSbAzO9a2dqJqruDBjQZDVJIoaQxUp6FsuL9KgidcTTQ1gD6B/jc6E8pEaTarYr6peQzkhRu /AvFlZVg==;
Received: from lists by mab.w3.org with local (Exim 4.96) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1sHkrE-002iDz-2Z for ietf-http-wg-dist@listhub.w3.org; Thu, 13 Jun 2024 13:51:16 +0000
Resent-Date: Thu, 13 Jun 2024 13:51:16 +0000
Resent-Message-Id: <E1sHkrE-002iDz-2Z@mab.w3.org>
Received: from ip-10-0-0-144.ec2.internal ([10.0.0.144] helo=pan.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 1sHkrD-002iD1-0F for ietf-http-wg@listhub.w3.internal; Thu, 13 Jun 2024 13:51: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=SAwWvSmSd6dKjHwCLE97w2gwghIBucppZSi9rR48rT8=; t=1718286675; x=1719150675; b=jja/NkKRVMIPas0krPYRNf3xd5gEGMzVAndXoj9ydrgAXsmh70ImKK3J6vtzO+79Plym4cI0k6U /dE5tcPS2TVDDMSdwl+qnGvtuks8qun+eKWZtMGx7lsQvwdyJi3HOEopUjXLyI7588u3dP5R0bx5q ENz5u4shk2BPl7/q7+3D+aUD7v86SG+szJxbCed4rXH5dpXqyrir1J+ipkVKoNLFIWe5074kJODhS coi84noFKT0db84eA6iQpZXcmyylfVJNbAt6zp1XI26sRZadETbA5ZHzI2zDgTmaqzAAZDFMboFTW D2aBtQBGo85K7frriddxIyhnOiR5EHm9nYJw==;
Received-SPF: pass (pan.w3.org: domain of gmail.com designates 2a00:1450:4864:20::534 as permitted sender) client-ip=2a00:1450:4864:20::534; envelope-from=patmeenan@gmail.com; helo=mail-ed1-x534.google.com;
Received: from mail-ed1-x534.google.com ([2a00:1450:4864:20::534]) by pan.w3.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from <patmeenan@gmail.com>) id 1sHkrC-00EcuV-1E for ietf-http-wg@w3.org; Thu, 13 Jun 2024 13:51:14 +0000
Received: by mail-ed1-x534.google.com with SMTP id 4fb4d7f45d1cf-57cbc2a2496so320294a12.0 for <ietf-http-wg@w3.org>; Thu, 13 Jun 2024 06:51:14 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718286670; x=1718891470; 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=SAwWvSmSd6dKjHwCLE97w2gwghIBucppZSi9rR48rT8=; b=eWazf8xhb54l0Q3emAl4/xBS/xFmlgwbUfSv/Kp39pmw1EJPgwpZHzi3xJKfT8qeyX GmsZLWYGPBwyKuJWg8w6Ob3KOuZOUTol8NqaekJfwJEecWF8kMNt8Nt+K78h5lm2N0kM rFxjoBSWH8BC9TYrQB8/IlDoXmJtBWa7lDx8bGr/Y6vVAUqMBV7vH2/OxL/VMQREOHOW Z8zifHBM1zXRqBsID3Ii28VQD4P7x5+vxmB5mAkceOa1EewzgLab8z4ufGswEfdlnGkh W7foB+wyKtzPNMHbX2ry3Wtrsekg4evqU+4l2D0I6D5l+UlDRxP0QA5h4x5l6sXbLj4w MHgQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718286670; x=1718891470; 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=SAwWvSmSd6dKjHwCLE97w2gwghIBucppZSi9rR48rT8=; b=VrgowmAZ2kD7+IFnvm2tcQxSicxGOxQR/LCVyno4ZNRdLezEFMhGt1tZEKS9pGZQTM JUSZSqcNAvKkIwrLGQVGlb5FL5oKJB3/xv2+0s9/bNJKs8pD6ZHHylOvD/IAFf2g4k3E XQnIhduQ5Mnew4ippjes99jBqjg1Xb4FyIlJyHrZR7UTDO6VTQ8lBYxKijcVj9JvSy64 FKNCRZBGtI4Eh5o6SBvhIK6F7iZCT/tfDpiZWcNescM8EgyaVoi4eP9TV24FA8XkAgOE GqOUqfoxO+q+TCWnzEdXelMItC0fqEn0WtVjP/g5uRI2Nh8IavIifBPW0miMDZdxb0hL nC2g==
X-Forwarded-Encrypted: i=1; AJvYcCVGReXTT1aCP9fEfhYZcZ/jKFA3NPqzAAhgfc9c/eZew8wyM8NwO5FKwVEvKKTZdWZIt9TsD9+rfCy3i+cNBnUUfiXN
X-Gm-Message-State: AOJu0YxhFo30V3lET1WNxVMw3AGleE8uNaHZJ8vzw+qosGTSd5ZSIm6Z lLYcy/Etycn7RjEqQnFiq11BceeimhKYE8volSkHBzdObztXq49P9rTtvipJj1iCmkWM0CSgoXl 6AW7VzWsXdMndp52VPefyLtwFUDZjfq/c
X-Google-Smtp-Source: AGHT+IG10AZd3DVALrkWiSOhl4GPqtj6F9Go5bZA/iJVBVVDIjTfES3Ez6lZUxcAiOHgvN63DMeDSQAH6JmOZSMzw1U=
X-Received: by 2002:a17:907:72cb:b0:a6f:5259:72e0 with SMTP id a640c23a62f3a-a6f525973camr284125466b.25.1718286669637; Thu, 13 Jun 2024 06:51:09 -0700 (PDT)
MIME-Version: 1.0
References: <6871AEAA-DC4D-408D-915A-22BF9627B5FC@mnot.net> <aabfd879-2a0a-488e-9ee1-4f49eaf6c2a6@betaapp.fastmail.com> <CALYmMaebQOuDZHYgvCm799AbLPQfj+fxNQTsj_bKCMJU-076BQ@mail.gmail.com> <a328fabb-7f36-4fd1-905f-6308adfcf7a9@betaapp.fastmail.com> <CALYmMae2T1ip6Sh8Ei_DZjuN+REFd=wid2mfB4gTOrJXttniTw@mail.gmail.com> <8e1866e0-d766-48f9-b61e-6a9f03c3f58d@betaapp.fastmail.com>
In-Reply-To: <8e1866e0-d766-48f9-b61e-6a9f03c3f58d@betaapp.fastmail.com>
From: Patrick Meenan <patmeenan@gmail.com>
Date: Thu, 13 Jun 2024 09:50:57 -0400
Message-ID: <CAJV+MGzYOgWOxSjhkEQyf1+mS0mJS6bg85YGMKwDkXnjQ=QSNA@mail.gmail.com>
To: Martin Thomson <mt@lowentropy.net>
Cc: Yoav Weiss <yoav.weiss@shopify.com>, ietf-http-wg@w3.org
Content-Type: multipart/alternative; boundary="00000000000090f1f8061ac5caa8"
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, T_SCC_BODY_TEXT_LINE=-0.01, W3C_AA=-1, W3C_DB=-1, W3C_WL=-1
X-W3C-Scan-Sig: pan.w3.org 1sHkrC-00EcuV-1E bc7f26bb4d6537c82ae2e2efccee3a5b
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Working Group Last Call: Compression Dictionary Transport
Archived-At: <https://www.w3.org/mid/CAJV+MGzYOgWOxSjhkEQyf1+mS0mJS6bg85YGMKwDkXnjQ=QSNA@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/52011
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>
Sorry, this is my first foray into the standards process but from reading over RFC 2026 for the standards track from proposed -> draft -> standard, it looked like proposed was appropriate and draft is the point where multiple independent implementations became the defining factor. Pulling out the relevant section for proposed standard: A Proposed Standard specification is generally stable, has resolved known design choices, is believed to be well-understood, has received significant community review, and appears to enjoy enough community interest to be considered valuable. However, further experience might result in a change or even retraction of the specification before it advances. Usually, neither implementation nor operational experience is required for the designation of a specification as a Proposed Standard. However, such experience is highly desirable, and will usually represent a strong argument in favor of a Proposed Standard designation. And for experimental: The "Experimental" designation typically denotes a specification that is part of some research or development effort. Such a specification is published for the general information of the Internet technical community and as an archival record of the work, subject only to editorial considerations and to verification that there has been adequate coordination with the standards process (see below). An Experimental specification may be the output of an organized Internet research effort (e.g., a Research Group of the IRTF), an IETF Working Group, or it may be an individual contribution. Maybe I haven't been transparent enough with the process of Chrome's origin trials but it feels like it was experimental already when we adopted the draft into the WG, having done the research and internal testing. The origin trials started with Chrome 117 last March with the draft-00 design. There have been 3 rounds of trials with 3 different revisions of the draft with the current V3 trial implementing the features in the current draft-05. The trials included different types of sites from the largest properties (Google and others) as well as sites of various sizes from rich applications to ecommerce and published content sites to make sure the developer ergonomics worked like we expected and that the design failed-safe when exposed to the web at scale. This included testing through most of the popular CDN's to make sure it either worked out of the box as a passthrough cache or could be configured to work (and, more importantly, that it didn't break anything). The trials have been hugely successful with the expected 80%+ reduction in bytes for static content and significant performance wins for dynamic content (even for the most latency-sensitive sites). As far as breakage goes, the only issue discovered was with some security devices (middleboxes) that inspect traffic but don't modify the Accept-Encoding header that passes through to make sure only encodings that they understand are advertised. We are planning to "fix" the ecosystem when the Chrome feature rolls out by providing an time-locked enterprise policy that will make admins aware of the issue and provide pressure on the device vendors to fix their interception. There haven't been any fundamental changes to the design since the original draft. We moved a few things around but the basic negotiation and encoding has been stable and we've converged on the current, tested design. This feels like we have quite a bit of both implementation and operational experience deploying it and feels pretty solidly at the "proposed standard" maturity. It's possible that further experience when CDN's or servers start implementing features to automate the encoding that it would benefit to revise the standard but, as far as I can tell, that's the purpose of proposed standard before it matures to draft standard. Stage aside, for "Use-As-Dictionary" specifically and the risks of matching every fetch, "clients" can decide the constraints around when they think it would be advantageous to check for a match or when they would be better off ignoring it and falling back to non-dictionary compression. Chrome, for example, has a limit of 1000 dictionaries per origin in a LRU store (and 200 MB per origin). Those may change but there are no MUSTs around using the advertised dictionaries. For that matter, there is no requirement that a client and server need to use the Use-As-Dictionary header as the only way to seed dictionaries in the client. It's entirely possible to embed a dictionary in a client and still use the Available-Dictionary/Content-Encoding part of the spec. The same can apply to a CDN when it is configured to talk to an origin. There's nothing stopping a CDN from providing a config where dictionaries can be uploaded (or provided) and certain types of requests back to the origin could advertise the configured dictionaries as available. I'm hopeful that what we have designed and tested has the flexibility to allow for a lot of use cases beyond what we have already deployed and tested but that's largely what the process from proposed standard to draft standard allows for. On Thu, Jun 13, 2024 at 1:42 AM Martin Thomson <mt@lowentropy.net> wrote: > On Thu, Jun 13, 2024, at 15:36, Yoav Weiss wrote: > > Yeah, I don't think this is the way to go. > > As I said, obviously. But your strategy only really addresses the serving > end. > > >> All of which is to say, I think this needs time as an experiment. > > > > I'll let Pat chime in with his thoughts, as I don't have strong > > opinions on that particular front. > > I should have said before: I'm supportive of experimentation in this > area. Even to the extent of publishing an RFC with the code points and > whatnot. But I don't think that this meets the bar for Proposed Standard. > >
- Re: Working Group Last Call: Compression Dictiona… Mark Nottingham
- Re: Working Group Last Call: Compression Dictiona… Yoav Weiss
- Working Group Last Call: Compression Dictionary T… Mark Nottingham
- Re: Working Group Last Call: Compression Dictiona… Martin Thomson
- Re: Working Group Last Call: Compression Dictiona… Martin Thomson
- Re: Working Group Last Call: Compression Dictiona… Yoav Weiss
- Re: Working Group Last Call: Compression Dictiona… Martin Thomson
- Re: Working Group Last Call: Compression Dictiona… Patrick Meenan
- RE: Working Group Last Call: Compression Dictiona… Mike Bishop
- Re: Working Group Last Call: Compression Dictiona… W. Felix Handte
- Re: Working Group Last Call: Compression Dictiona… Watson Ladd
- Re: Working Group Last Call: Compression Dictiona… Patrick Meenan
- Re: Working Group Last Call: Compression Dictiona… Patrick Meenan
- Re: Working Group Last Call: Compression Dictiona… Patrick Meenan
- Re: Working Group Last Call: Compression Dictiona… Yoav Weiss