Re: Call for Adoption: Cache Digests for HTTP/2
Alcides Viamontes E <alcidesv@zunzun.se> Wed, 22 June 2016 08:32 UTC
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 6FB7C12B054 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 22 Jun 2016 01:32:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.346
X-Spam-Level:
X-Spam-Status: No, score=-8.346 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-1.426, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=zunzun-se.20150623.gappssmtp.com
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 9cCwWlbCh6vl for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 22 Jun 2016 01:32:48 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id ADEB812B00B for <httpbisa-archive-bis2Juki@lists.ietf.org>; Wed, 22 Jun 2016 01:32:48 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1bFdWo-00083T-Ey for ietf-http-wg-dist@listhub.w3.org; Wed, 22 Jun 2016 08:28:54 +0000
Resent-Date: Wed, 22 Jun 2016 08:28:54 +0000
Resent-Message-Id: <E1bFdWo-00083T-Ey@frink.w3.org>
Received: from lisa.w3.org ([128.30.52.41]) by frink.w3.org with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <alcidesv@zunzun.se>) id 1bFdWi-00082f-8T for ietf-http-wg@listhub.w3.org; Wed, 22 Jun 2016 08:28:48 +0000
Received: from mail-oi0-f42.google.com ([209.85.218.42]) by lisa.w3.org with esmtps (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <alcidesv@zunzun.se>) id 1bFdWa-0001yd-Uv for ietf-http-wg@w3.org; Wed, 22 Jun 2016 08:28:46 +0000
Received: by mail-oi0-f42.google.com with SMTP id f189so11614505oig.3 for <ietf-http-wg@w3.org>; Wed, 22 Jun 2016 01:28:20 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zunzun-se.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=ByF5BEqoEo1TQHnNq9/09zwr5RS7vMVMaGlqIy9RN3Q=; b=nBrsfkbPJ2ZNbuAlV1UPE5momlJGI0Tv+jEHhSkrfRMiXSSLV5QHYfGxp5fUDPoyz6 XIGslarT6yeAnNhk/N7YWsWdvHWARNrshgv/OXIp1DPft6Sx02AGknV6Zb3uzqb6gjUV TSFytCTcA+jMaTa77612jAbWeDWXn4P9QzmzZagU/cWrVQKhnhPxFFkPeYiN82Di5Gjh XDxB66pdEM79L4v4lm6Gt1n3ArW6R/zF59v/haZkqSeqrqMtF4bQgr7Uc3KRtPZo/qbm nFpJJPSvUYT1p2TRtCTgTW0hrBpa+NXv7UpA7+srJc0X7l5WyfPwpPEp+pMfhcPjJlTn Nmug==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=ByF5BEqoEo1TQHnNq9/09zwr5RS7vMVMaGlqIy9RN3Q=; b=W+PswHI5cqEk6tI5F1hKDymcy4PMUjoLgyfrB2IDNB1i9YS3TR7Lo8wtB8B46apvLS jGrYXOe0tsCFKkgcnHBGGBjzAKyzGM9J4NjKHWHWBwoc84WWIdHeUGjxmCrw+Da4g4Sz YmMm0ZlrUyZWTR312yWTdbmo7a8AvKigUjWyag+Ms6MXZohkKcEIaeNlIX2IuqxAQT5H EZoYBk87wnJgmq/slB7+XxxRCZwYuRVh8Q3iAqlDrMPPtNxHxlEjqDmAbDqb6ATkfHZp LAkycLaQlkNht0l29WDrMfZEr4y5gRjtp3vz9UCuGGJpt7GvIC1wvorKhBsIAJYoqoMT 7Vrg==
X-Gm-Message-State: ALyK8tIrvCCCxGI9oQ9N60SxNBq4kd1d/79KzSioqip7/FyH8CwjpQjYbyBDl5qN7m9V/DY7hKwhVU1n8GkdjA==
X-Received: by 10.157.41.204 with SMTP id g12mr944341otd.68.1466584094162; Wed, 22 Jun 2016 01:28:14 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.202.175.214 with HTTP; Wed, 22 Jun 2016 01:28:13 -0700 (PDT)
In-Reply-To: <040BA5C3-6CA3-4183-9B33-20D8F7A5CA16@mnot.net>
References: <040BA5C3-6CA3-4183-9B33-20D8F7A5CA16@mnot.net>
From: Alcides Viamontes E <alcidesv@zunzun.se>
Date: Wed, 22 Jun 2016 10:28:13 +0200
Message-ID: <CAAMqGzbnd9=YJ39sU8K7it-q_Tigw9F7rLOSewMGYL7d1FYFaQ@mail.gmail.com>
To: Mark Nottingham <mnot@mnot.net>
Cc: HTTP Working Group <ietf-http-wg@w3.org>, Natasha Rooney <nrooney@gsma.com>, Kazuho Oku <kazuhooku@gmail.com>
Content-Type: multipart/alternative; boundary="001a113dd774f752e10535d9b76c"
Received-SPF: pass client-ip=209.85.218.42; envelope-from=alcidesv@zunzun.se; helo=mail-oi0-f42.google.com
X-W3C-Hub-Spam-Status: No, score=-5.4
X-W3C-Hub-Spam-Report: AWL=-0.818, BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: lisa.w3.org 1bFdWa-0001yd-Uv 5599678c4db1c7c92c21e4140c54bb6a
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Call for Adoption: Cache Digests for HTTP/2
Archived-At: <http://www.w3.org/mid/CAAMqGzbnd9=YJ39sU8K7it-q_Tigw9F7rLOSewMGYL7d1FYFaQ@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/31750
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: <http://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>
Hello, I'm sorry to have to intervene now, since as part of a publicly financed project my company is trying to build forecasts on how cache digests would work in practice. We are extrapolating data from a few scanned websites. The goal is to get likely bounds for the sizes of cache digests. We also have some data from using a cookie implementation of cache digests in ShimmerCat that follows this draft closely. We are satisfied with how it works but we have identified a few things that can be improved. We expressed some of our concerns in January, and we are glad to see that some of them have been addressed, i.e. the inclusion of validators. A further concern was scoping: as it stands now, the only scoping mechanism for digests is to use different origins. This is bad for several reasons. AFAIK, sites don't have either a way to ask the browser to prematurely evict an expired representation that the browser would otherwise consider fresh. These two things together could allow a cache digest to grow indefinitely. Wouldn't that have a degrading effect on performance? We turn on cache digests during development, and we have seen the cache digests grow due to the accumulation of different versions of assets. Because we are using a cookie implementation, we can have the server reset the cookie when it gets too big. Would that be possible with the current draft? Also related to scoping is the following. Cache digests have been devised so far for a single HTTP/2 Push use scenario: pushing a few assets which are critical to the first render of a page. For that scenario, it is a good idea to keep the digests short. In other words, to not include all assets from the origin that the browser has in cache. Scoping is good here! But there are other HTTP/2 Push scenarios. PUSH_PROMISEs can be sent later on the lifetime of a connection. Since HTTP/2 recommends to not bundle assets, HTTP/2 Push is also handy to push hierarchies of small Javascript modules. Digests are also useful here, but with different assets than the digests at the beginning of a site fetch. Another concern we expressed on January was that digests as an HTTP/2 frame are something that suits well large and well-equipped infrastructure operators but that becomes almost invisible and hard to debug for web developers and sysadmins with less resources. However we can swipe that concern under the rug by hoping that browser tooling will catch up eventually. Another concern we expressed on January was that there was no way to switch off the digest frame. All in all, we think that the current draft is a really good step, and we understand that it doesn't need to be perfect. But if it is not going to be good enough for all scenarios, it would be nice if it can be switched off. Since digests are only used from the second visit to a site, the browser could just remember some hint from the site on previous visits and abstain from using digests. For what it counts, and in short, here is our response to the call for adoption: - Should be this draft adopted in its current form?: No. - What would be the minimum requirement to revert that response?: A way to switch off digests, so that operators opting for different implementations don't need to pay for it. On Wed, Jun 22, 2016 at 8:52 AM, Mark Nottingham <mnot@mnot.net> wrote: > <https://tools.ietf.org/html/draft-kazuho-h2-cache-digest-01> > > This draft has been discussed both out in the community and at our > meetings, and there seems to be a decent amount of interest in it. So, this > is a Call for Adoption to add it to our set of working documents. > > Please state whether you support adoption, and ideally why. Expressions of > interest in implementation would also be very helpful. > > We'll wait at least one week before making a decision. > > N.B. Because I'm co-author on the draft, Natasha Rooney has kindly agreed > to judge consensus on the CfA, and act as Document Shepherd if we do adopt > it. > > Cheers, > > > -- > Mark Nottingham https://www.mnot.net/ > > >
- Re: Call for Adoption: Cache Digests for HTTP/2 Kazuho Oku
- Call for Adoption: Cache Digests for HTTP/2 Natasha Rooney
- Re: Call for Adoption: Cache Digests for HTTP/2 Alcides Viamontes E
- Re: cache-busting and query-string versioning Matthew Kerwin
- Re: Call for Adoption: Cache Digests for HTTP/2 Amos Jeffries
- Re: cache-busting and query-string versioning Amos Jeffries
- Re: Call for Adoption: Cache Digests for HTTP/2 Alcides Viamontes E
- Re: Call for Adoption: Cache Digests for HTTP/2 Alcides Viamontes E
- Re: cache-busting and query-string versioning Alcides Viamontes E
- Re: cache-busting and query-string versioning Raphaƫl D
- Re: Call for Adoption: Cache Digests for HTTP/2 Tatsuhiro Tsujikawa
- Re: Call for Adoption: Cache Digests for HTTP/2 Amos Jeffries
- Re: Call for Adoption: Cache Digests for HTTP/2 Natasha Rooney
- Re: Call for Adoption: Cache Digests for HTTP/2 Alcides Viamontes E
- Fwd: Call for Adoption: Cache Digests for HTTP/2 Alcides Viamontes E
- Re: Call for Adoption: Cache Digests for HTTP/2 Stefan Eissing
- Re: Call for Adoption: Cache Digests for HTTP/2 Mark Nottingham
- Re: Call for Adoption: Cache Digests for HTTP/2 Kazuho Oku
- Re: Call for Adoption: Cache Digests for HTTP/2 Alcides Viamontes E
- Re: Call for Adoption: Cache Digests for HTTP/2 Cory Benfield
- Re: Call for Adoption: Cache Digests for HTTP/2 Alcides Viamontes E
- Re: Call for Adoption: Cache Digests for HTTP/2 Mark Nottingham
- Re: Call for Adoption: Cache Digests for HTTP/2 Cory Benfield
- Re: Call for Adoption: Cache Digests for HTTP/2 Martin Thomson
- Call for Adoption: Cache Digests for HTTP/2 Mark Nottingham
- Re: Call for Adoption: Cache Digests for HTTP/2 Alcides Viamontes E
- Re: Call for Adoption: Cache Digests for HTTP/2 Amos Jeffries
- Re: Call for Adoption: Cache Digests for HTTP/2 Kazuho Oku
- Re: cache-busting and query-string versioning Alcides Viamontes E