Experiences with HTTP/2 server push

Tom Bergan <tombergan@chromium.org> Fri, 05 August 2016 08:35 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 4946812D870 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 5 Aug 2016 01:35:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.207
X-Spam-Level:
X-Spam-Status: No, score=-8.207 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, 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.287, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
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 wTm7kiuZVFWw for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 5 Aug 2016 01:35:57 -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 AF03F12D867 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Fri, 5 Aug 2016 01:35:57 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1bVaXJ-0000ZE-1g for ietf-http-wg-dist@listhub.w3.org; Fri, 05 Aug 2016 08:31:21 +0000
Resent-Message-Id: <E1bVaXJ-0000ZE-1g@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 <ylafon@w3.org>) id 1bVaXE-0000YV-5j for ietf-http-wg@listhub.w3.org; Fri, 05 Aug 2016 08:31:16 +0000
Received: from raoul.w3.org ([128.30.52.128]) by maggie.w3.org with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <ylafon@w3.org>) id 1bVaXB-0004nG-2G for ietf-http-wg@w3.org; Fri, 05 Aug 2016 08:31:14 +0000
Received: from sao25-1-78-220-1-148.fbx.proxad.net ([78.220.1.148] helo=[192.168.0.14]) by raoul.w3.org with esmtpsa (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.80) (envelope-from <ylafon@w3.org>) id 1bVaXA-000GCg-6n for ietf-http-wg@w3.org; Fri, 05 Aug 2016 08:31:12 +0000
Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\))
Content-Type: multipart/alternative; boundary="Apple-Mail=_1996593E-A7D1-4B14-AFCB-21FBF2B2F7D9"
From: Tom Bergan <tombergan@chromium.org>
Resent-From: Yves Lafon <ylafon@w3.org>
Date: Thu, 04 Aug 2016 00:21:00 +0000
Resent-Date: Fri, 05 Aug 2016 10:31:09 +0200
Resent-To: ietf-http-wg@w3.org
X-Name-Md5: efe3dad792d606410c9cc49cedaffc94
Message-Id: <CACZw55mUg_VjN3Q6TqPCb6udo3mQpoWQVNV5e2iYiNj=hC-2kw@mail.gmail.com>
To: ietf-http-wg@w3.org
X-Mailer: Apple Mail (2.3124)
X-W3C-Hub-Spam-Status: No, score=-6.1
X-W3C-Hub-Spam-Report: ALL_TRUSTED=-1, BAYES_00=-1.9, HTML_MESSAGE=0.001, RP_MATCHES_RCVD=-1.247, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: maggie.w3.org 1bVaXB-0004nG-2G 15baac9ece31348b8d1a6b347fe5561d
X-Original-To: ietf-http-wg@w3.org
Subject: Experiences with HTTP/2 server push
Archived-At: <http://www.w3.org/mid/CACZw55mUg_VjN3Q6TqPCb6udo3mQpoWQVNV5e2iYiNj=hC-2kw@mail.gmail.com>
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/32189
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>

Hi all,

Our team has been experimenting with H2 server push at Google for a few months. We found that it takes a surprising amount of careful reasoning to understand why your web page is or isn't seeing better performance with H2 push. We also encountered a lack of good documentation: How should one go about using H2 push? What are the best practices? We tried to distill our experiences into five "rules of thumb" that are described in this doc:
https://docs.google.com/document/d/1K0NykTXBbbbTlv60t5MyJvXjqKGsCVNYHyLEXIxYMv0 <https://docs.google.com/document/d/1K0NykTXBbbbTlv60t5MyJvXjqKGsCVNYHyLEXIxYMv0>

The doc is a little long, but the first two pages give a decent tl;dr. I suspect the ideas and conclusions will be "obvious" to many people on this mailing list, at least in hindsight. Hopefully other folks interested in H2 server push will find this useful. Let us know if you have any comments.

-Tom, Simon, and Michael