Re: Submitted new I-D: Cache Digests for HTTP/2

Kazuho Oku <kazuhooku@gmail.com> Tue, 12 April 2016 06:16 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 42BF412DFCB for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Mon, 11 Apr 2016 23:16:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.017
X-Spam-Level:
X-Spam-Status: No, score=-8.017 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.996, 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=gmail.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 Kxhi39yxRnH4 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Mon, 11 Apr 2016 23:16:36 -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 4244512DFBC for <httpbisa-archive-bis2Juki@lists.ietf.org>; Mon, 11 Apr 2016 23:16:35 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1aprYN-00040O-M6 for ietf-http-wg-dist@listhub.w3.org; Tue, 12 Apr 2016 06:11:59 +0000
Resent-Date: Tue, 12 Apr 2016 06:11:59 +0000
Resent-Message-Id: <E1aprYN-00040O-M6@frink.w3.org>
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <kazuhooku@gmail.com>) id 1aprYI-0003zc-08 for ietf-http-wg@listhub.w3.org; Tue, 12 Apr 2016 06:11:54 +0000
Received: from mail-wm0-f45.google.com ([74.125.82.45]) by maggie.w3.org with esmtps (TLS1.2:RSA_ARCFOUR_SHA1:128) (Exim 4.80) (envelope-from <kazuhooku@gmail.com>) id 1aprYF-0000a8-NS for ietf-http-wg@w3.org; Tue, 12 Apr 2016 06:11:53 +0000
Received: by mail-wm0-f45.google.com with SMTP id n3so13286865wmn.0 for <ietf-http-wg@w3.org>; Mon, 11 Apr 2016 23:11:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-transfer-encoding; bh=uf12mI8YrXvh6cpuUSn8jzikyz5gawrfY/AK+DN0SdE=; b=teqgjZthFgA7WfCrXFXM5SCK9BF7CIwh6oLx2ATn5f5Tt+Q4PMAaKfeqidx2IbegRU CFGX0csZTkSfj24uVzttJdDeUlENcKZRdvgIWNtqYj7SynmdrKB8p/lN99/it+RUQQhT GpzoNg8Dg6APy/RMNL3P6I4KXUcTVdbklg6VZ1HaGYXhMRUxwYhDdrhSY1Ggcbkkxyp3 7U6+dVSPf8Oa2Oe9irTfxhQ9pg3Jn85wbbS8ovoTjVysoqQD55N17+ifKv5wnERo5Yv5 cBcnXt2qgDr0ls/D475Wud2dIt7xgHHoQSX+odOD9plBlImXKLulJC9KzO3jJ5aL79oA X9tw==
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:date :message-id:subject:from:to:cc:content-transfer-encoding; bh=uf12mI8YrXvh6cpuUSn8jzikyz5gawrfY/AK+DN0SdE=; b=Wp2hjTQeAhj+I4iO47lvEXqNE4n+iDEKDfT05wtybQ7YksaMirh7N7Op13N/cn5c5c O6bvNRxUpPaZtvdSkv6TV+lJw94Cfbf0ffIEHuMlt81tgFXtaA4Y4uTMnA9xcNj77uTB 5aaqQRtrbXXwz4YVNm/npOPrAuYzKby8MwdAKYYR6Hj54EdnsZAc8M6hzgCCX8unXpI/ t9WhVkLIxPFVgtVlbKxEHZ3qMD8TDqsJ/2TFzdDzroP/ZuX3ujsE3Km3Y5ugVlfSA//g xEPzM9ztx1hWfnGx4u524Z7r1JDU7CG7d11mUX86iNh0IxpdU0sve0ULgP1DzvwUVg7a lQXQ==
X-Gm-Message-State: AOPr4FUDEuX6Cyd61Vdq9UYySWyWtTIicx5alTOD3AbP5bqzWAQKWtKJxwsW27Kz3RjRPyn6kSB0ow0q6thkYg==
MIME-Version: 1.0
X-Received: by 10.194.24.65 with SMTP id s1mr1363918wjf.137.1460441485211; Mon, 11 Apr 2016 23:11:25 -0700 (PDT)
Received: by 10.194.77.132 with HTTP; Mon, 11 Apr 2016 23:11:24 -0700 (PDT)
In-Reply-To: <CAAMqGzbZjOocXkbE8aC7qObiL2izMvwy_qa8GdaTsVXwywkzQQ@mail.gmail.com>
References: <CANatvzxcKS46iAqAdfBHuWPt5k3XkR79NDMPPtDakOb2jPAywA@mail.gmail.com> <56A26B1E.4050303@rd.bbc.co.uk> <CANatvzyHbyrK7cjh+JsRpTR42knc6LXX7GWzj8ZEYPgv8cs49g@mail.gmail.com> <56B0F0DC.3060807@rd.bbc.co.uk> <56B110EE.5050705@treenet.co.nz> <CABkgnnU=BEPC=2X1f+DKDd11CrEG1awDG=j+J-Ha3B-mTPxfvA@mail.gmail.com> <CY1PR03MB137425A025736905630C91BF87D00@CY1PR03MB1374.namprd03.prod.outlook.com> <CAAMqGzbuSNYC6ResLR=NT5bLoDFDBn+=jjk00jKTN2v5TFSZ5Q@mail.gmail.com> <CANatvzzUQ+TEFZ5kML+Eagsb_O2pdmWosjMx_xspzrsCTy2hkA@mail.gmail.com> <F6EC743C-187F-4189-B78B-51079FBB5F02@greenbytes.de> <CANatvzzYKy0L3h+_-cEZXR7W+NbGhMg7BchsaZd0uVuQSpig-g@mail.gmail.com> <CAAMqGzZZCrjLmZhR3XmsF+1C1NbwdgVQ8w-p1QBNejoFpOWDuA@mail.gmail.com> <CANatvzxTO3fRj_+4W+PEURfOt_h7ZPB2RDc0Kn7_tWUrepQfDg@mail.gmail.com> <CAAMqGzbZjOocXkbE8aC7qObiL2izMvwy_qa8GdaTsVXwywkzQQ@mail.gmail.com>
Date: Tue, 12 Apr 2016 15:11:25 +0900
Message-ID: <CANatvzxDnumnfuSuWEqQFqskFk1nT6PXP_mRL6NsXYnJkGxy=A@mail.gmail.com>
From: Kazuho Oku <kazuhooku@gmail.com>
To: Alcides Viamontes E <alcidesv@zunzun.se>
Cc: HTTP Working Group <ietf-http-wg@w3.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Received-SPF: pass client-ip=74.125.82.45; envelope-from=kazuhooku@gmail.com; helo=mail-wm0-f45.google.com
X-W3C-Hub-Spam-Status: No, score=-5.5
X-W3C-Hub-Spam-Report: AWL=-0.817, BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: maggie.w3.org 1aprYF-0000a8-NS 6761f24eb7b1b1ccbaeb0a860b076001
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Submitted new I-D: Cache Digests for HTTP/2
Archived-At: <http://www.w3.org/mid/CANatvzxDnumnfuSuWEqQFqskFk1nT6PXP_mRL6NsXYnJkGxy=A@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/31422
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>

2016-04-10 17:14 GMT+09:00 Alcides Viamontes E <alcidesv@zunzun.se>:
> Thanks Kazuho,
>
> Regarding your question of how many fresh resources being cached, that will
> change from site to site
> but we already have some statistical data that we can use to model some
> rough estimations.
> We will add that to our report.

Great!  I am eager to see that.

> Also we will try to experiment a bit with a polyfill implementation (can you
> point to any already existent one?)
> exposed to a little bit of normal traffic,
> and see where that get us.

AFAIK there is no client that exactly implements the cache digest
frame (as defined in the draft).
IIRC https://github.com/Jxck/dispenser.js is a work-in-progress SW
code that implements the H2O's variant of the cache digest that uses
Cookies.

>
>
> On Fri, Apr 8, 2016 at 3:44 PM, Kazuho Oku <kazuhooku@gmail.com> wrote:
>>
>> 2016-04-08 3:55 GMT+09:00 Alcides Viamontes E <alcidesv@zunzun.se>:
>> >
>> > Hi everybody,
>> >
>> > Our company got a little bit of money from the the Swedish government
>> > to do
>> > some research on the general idea of cache digests and on anything that
>> > helps this digests proposal evolve forward.
>>
>> Wow! Fantastic!
>>
>> >  As you may suspect, the results
>> > will be public (source code under BSD 3 and technical report under
>> > Creative
>> > Commons, Attribution­ShareAlike). So, regarding the current status of
>> > this
>> > proposal, what would you consider the most urgent issue that needs to be
>> > addressed/researched-further/solved ?
>>
>> I think what we need most is a research on how large a cache digest would
>> be.
>>
>> If the size of an average digest is say, for example 100 octets, I
>> think many of us would be happy on adopting the draft.  On the other
>> hand if the result is 10,000 octets, I think we need to update the
>> draft so that a more fine-grained digest (e.g. a digest that only
>> contains resources that block the rendering path) can be created.
>>
>> So the question boils down to two.
>>
>> Q1. How many fresh resources exist per origin?
>>
>> The size of the cache-digest is proportional to the number of fresh
>> resources being cached, and it would be of great help if we could find
>> out the number.
>>
>> Q2. What is the appropriate value for P?
>>
>> The size of the cache-digest is proportional to log2(P), so we would
>> like to select a small but effective value.
>>
>> If, in average, a client needs to fetch 10 additional resources per
>> every pull request, a cache digest using P=2 might be still useful,
>> since in average 5 resources can be pushed.
>> On the other hand if in many cases a client needs to fetch 1 or 2
>> additional resources per every pull request, we would need to have a
>> greater default for P.
>>
>>
>> Of course there would be other things to look at, but IMO these two
>> questions are the ones many would be interested to know.
>>
>> > In advance, kind thanks for your time.
>> >
>> > Alcides Viamontes E. PhD
>> > Zunzun AB.
>> >
>> >
>> >
>> >
>> > On Wed, Feb 10, 2016 at 8:26 AM, Kazuho Oku <kazuhooku@gmail.com> wrote:
>> >>
>> >> 2016-02-10 16:02 GMT+09:00 Stefan Eissing
>> >> <stefan.eissing@greenbytes.de>:
>> >> > Is PUSHing a HEAD request, unconditional, not what you are looking
>> >> > for?
>> >>
>> >> Thank you for the suggestion.  I hadn't thought about using HEAD, but
>> >> it sounds like an elegant solution.
>> >>
>> >> Pushing HEAD requests with validators stored in the responses would be
>> >> much easier and straightforward to define and / or implement than
>> >> trying to determine how to push conditional requests.
>> >>
>> >> Do the web browsers recognize pushed HEAD requests?
>> >>
>> >> >> Am 10.02.2016 um 02:50 schrieb Kazuho Oku <kazuhooku@gmail.com>:
>> >> >>
>> >> >> Hi,
>> >> >>
>> >> >> 2016-02-09 20:46 GMT+09:00 Alcides Viamontes E <alcidesv@zunzun.se>:
>> >> >>>>> Not something that we've implemented yet, but it's a valid
>> >> >>>>> scenario.
>> >> >>>
>> >> >>> Pushing 304 works both in Chrome and Firefox:
>> >> >>> https://drive.google.com/open?id=0B2F2m0rSqGCVWFJnTzRWOWFWQmc , we
>> >> >>> have been
>> >> >>> doing it for some time.
>> >> >>
>> >> >> My understanding is that handling of pushed 304 in Chrome and
>> >> >> Firefox
>> >> >> is unreliable.
>> >> >>
>> >> >> When sending a push, a server cannot be 100% certain if the client
>> >> >> has
>> >> >> the resource cached.  In other words, there is always a possibility
>> >> >> that the pushed response will be considered as a response to a
>> >> >> non-conditional HTTP request on the client side.
>> >> >>
>> >> >> In other words, browsers that support 304 push should, when matching
>> >> >> a
>> >> >> pushed 304 response against a HTTP request, check that the request
>> >> >> is
>> >> >> conditional, and use the pushed response only if the request was
>> >> >> conditional (additional checks might be necessary).  Otherwise, the
>> >> >> pushed 304 request must be ignored, and the browser should pull the
>> >> >> unconditional HTTP request.
>> >> >>
>> >> >> However, my understanding is that both Chrome (48.0.2564.103) and
>> >> >> Firefox (44.0.1) don't do the check; they consider pushed 304
>> >> >> responses to be a response to a unconditional HTTP request.
>> >> >> Therefore, there is a chance that you would fail to deliver the
>> >> >> correct content if you use 304 push today.
>> >> >>
>> >> >> --
>> >> >> Kazuho Oku
>> >> >>
>> >>
>> >>
>> >>
>> >> --
>> >> Kazuho Oku
>> >
>> >
>>
>>
>>
>> --
>> Kazuho Oku
>
>



-- 
Kazuho Oku