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

Kazuho Oku <kazuhooku@gmail.com> Fri, 08 January 2016 07:22 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 (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E82421ACE57 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 7 Jan 2016 23:22:27 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.012
X-Spam-Level:
X-Spam-Status: No, score=-7.012 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 ASSB8VhtwXYZ for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 7 Jan 2016 23:22:25 -0800 (PST)
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 4673E1ACE54 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Thu, 7 Jan 2016 23:22:24 -0800 (PST)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1aHRJ2-0000JW-Hm for ietf-http-wg-dist@listhub.w3.org; Fri, 08 Jan 2016 07:17:52 +0000
Resent-Date: Fri, 08 Jan 2016 07:17:52 +0000
Resent-Message-Id: <E1aHRJ2-0000JW-Hm@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 <kazuhooku@gmail.com>) id 1aHRIw-0000Ig-VU for ietf-http-wg@listhub.w3.org; Fri, 08 Jan 2016 07:17:46 +0000
Received: from mail-wm0-f49.google.com ([74.125.82.49]) by lisa.w3.org with esmtps (TLS1.2:RSA_ARCFOUR_SHA1:128) (Exim 4.80) (envelope-from <kazuhooku@gmail.com>) id 1aHRIt-0000x9-GT for ietf-http-wg@w3.org; Fri, 08 Jan 2016 07:17:46 +0000
Received: by mail-wm0-f49.google.com with SMTP id f206so124974610wmf.0 for <ietf-http-wg@w3.org>; Thu, 07 Jan 2016 23:17:23 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=xxPwCcxYnEGSBOLsuIBA/tCw80oxhgCJS7pN1Ib7tZw=; b=vuZHuUq7rCcu2Zt6pmfV3SHKs0eGwh90bw0kVh/2uPl6jhlTe0QAtN+YgKn5KT9zHP lvW9SJAUAv+EEv2Q26TVjpFGA4B6BegHgwk9Qg+7xEvzL3SrW6HbZ1KK78NA06l/CpHx pP+MjER06Ih4r1s0AQUzVCNfEaRYX/qSNYMUKB9gD5PTSjrHfK8WfvduJSm6xR916+uo JvbnE93+pu06XZI6HggWNY2nbtKAzadjQFWb8JRnMoitpLxqOXTROJ167JpCLmHzaT4g zn6UiFsd4QnJ4WOkdlfJ2TwA8CPwnWjJxFGYGPoan255Fnefx1vrWcW4zoaH+iInX/Y1 PGrQ==
MIME-Version: 1.0
X-Received: by 10.194.172.2 with SMTP id ay2mr117682433wjc.137.1452237437003; Thu, 07 Jan 2016 23:17:17 -0800 (PST)
Received: by 10.194.164.133 with HTTP; Thu, 7 Jan 2016 23:17:16 -0800 (PST)
Date: Fri, 08 Jan 2016 16:17:16 +0900
Message-ID: <CANatvzyLsrbY4d1Vnq3tSSvt_Tf44sYx0gM-dAWw4d97pz3Mgw@mail.gmail.com>
From: Kazuho Oku <kazuhooku@gmail.com>
To: ietf-http-wg@w3.org
Content-Type: text/plain; charset="UTF-8"
Received-SPF: pass client-ip=74.125.82.49; envelope-from=kazuhooku@gmail.com; helo=mail-wm0-f49.google.com
X-W3C-Hub-Spam-Status: No, score=-4.7
X-W3C-Hub-Spam-Report: 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: lisa.w3.org 1aHRIt-0000x9-GT 8a5b13bbcc99d51b1cd97a254f207565
X-Original-To: ietf-http-wg@w3.org
Subject: Submitted new I-D: Cache Digests for HTTP/2
Archived-At: <http://www.w3.org/mid/CANatvzyLsrbY4d1Vnq3tSSvt_Tf44sYx0gM-dAWw4d97pz3Mgw@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/30864
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,

Yesterday, Mark and I have submitted a new draft named "Cache Digests
for HTTP/2."
https://datatracker.ietf.org/doc/draft-kazuho-h2-cache-digest/

The draft proposes a new HTTP/2 frame named CACHE_DIGEST that conveys
client's cache state so that a server can determine what should be
pushed to the client.

Quoting from the introduction of the I-D:
    HTTP/2 allows a server to "push" synthetic request/response pairs
into a client's cache optimistically. While there is strong interest
in using this facility to improve perceived Web browsing performance,
it is sometimes counterproductive because the client might already
have cached the "pushed" response.

My estimation is that in some cases a server may be able to push
hundreds of kilobytes of asset files critical to the rendering path
(e.g. CSS and script files) before the main content (i.e. HTML) is
returned from the application server, and having such fingerprint is
essential for determining what to push (for better
perceived-performance) and for determining what not to push (to not
waste the bandwidth).

A more detailed explanation of how it works can be found in the link
below, which describes the test I conducted using H2O HTTP/2 server's
cache-aware server-push feature (this I-D is essentially an effort to
standardize the feature).
http://blog.kazuhooku.com/2015/12/optimizing-performance-of-multi-tiered.html

You may be also interested in the following slides explaining how the
feature is implemented in H2O version 1.5.
http://www.slideshare.net/kazuho/cache-awareserverpush-in-h2o-version-15

Source code of the Golomb-Rice encoder used in the cache-aware
server-push of H2O can be found at:
https://github.com/kazuho/golombset/ (note: it encodes "N" and "P"
differently from the steps defined in the I-D since in the H2O's
implementation the server is capable of maintaining "N" out-of-band).

Please let us know how you think about the proposal.  Thank you in advance.

-- 
Kazuho Oku