Re: Experiences with HTTP/2 server push

Tom Bergan <tombergan@chromium.org> Wed, 24 August 2016 17:25 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 8F55B12D56F for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 24 Aug 2016 10:25:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.568
X-Spam-Level:
X-Spam-Status: No, score=-7.568 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.548, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=chromium.org
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 nehOSgNS-D36 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Wed, 24 Aug 2016 10:25:01 -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 6D61F12D1B2 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Wed, 24 Aug 2016 10:25:01 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1bcbqx-0000En-NP for ietf-http-wg-dist@listhub.w3.org; Wed, 24 Aug 2016 17:20:39 +0000
Resent-Date: Wed, 24 Aug 2016 17:20:39 +0000
Resent-Message-Id: <E1bcbqx-0000En-NP@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 <tombergan@chromium.org>) id 1bcbqr-0000E2-3l for ietf-http-wg@listhub.w3.org; Wed, 24 Aug 2016 17:20:33 +0000
Received: from mail-it0-f48.google.com ([209.85.214.48]) by lisa.w3.org with esmtps (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <tombergan@chromium.org>) id 1bcbqp-0007yG-K9 for ietf-http-wg@w3.org; Wed, 24 Aug 2016 17:20:32 +0000
Received: by mail-it0-f48.google.com with SMTP id n128so46097406ith.1 for <ietf-http-wg@w3.org>; Wed, 24 Aug 2016 10:20:11 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=e+WCMJjCQ0sjFId1UQUDjP2TCXzwWUohWfH+uOQE8C8=; b=RDx7SuYho0Dxe35qsdCdNe8n//sf/oA/Lqhn86bmnuVbu5mpzKm8V3amE1ZCz7l7kJ WuryfTj9l707qnAKvdyu8393zL4wsWKGAfULhbLSYcln6yRgp0NKjiZaFF/38bJGF6do 3FtXn2Riq6xyIe3ZQ80fbF1+/7fZ7htfhDmO0=
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=e+WCMJjCQ0sjFId1UQUDjP2TCXzwWUohWfH+uOQE8C8=; b=AkjZkCLbe4ZCVmrIjaDu3gBRBUZBa5kI2mZSS+b2FSLfiPB8ndikT+/Ax1Q8iNzWE9 uEMk0PEgLOefe/3Zp2QL0zWYfjSgM1UI7dG8KFQ6mMu0Jord6+rtHUcfQ7hi4VXdFl2w A6diRToZiVuqW91XK/InkznPPd1/6pkfxuOnGHyJLhVyQ7LiLn3DWBCo+S+BCSm+awYA 8gPh6GKlAkSJ3DWH7bhcefU7UBBa+eu3XCAdIPZ5XdqImBRkdDWzTlQ5kRxjryepB41F hy3HYYFlka0ydi+fXzruNKkDYBvmy1JYK5OEheGqmQ7EKys1A62Qf5rHZwi6if7ynmUq 4BMA==
X-Gm-Message-State: AEkoousbQ6TkBsuHVI/qkPB5JfJCKfgUStg68GdRg2Q/Oi26vsQcrMccl8aS/OJi3w78J/hz
X-Received: by 10.107.134.22 with SMTP id i22mr5255082iod.45.1472059205478; Wed, 24 Aug 2016 10:20:05 -0700 (PDT)
Received: from mail-it0-f45.google.com (mail-it0-f45.google.com. [209.85.214.45]) by smtp.gmail.com with ESMTPSA id b133sm3767222iti.14.2016.08.24.10.20.04 for <ietf-http-wg@w3.org> (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 24 Aug 2016 10:20:04 -0700 (PDT)
Received: by mail-it0-f45.google.com with SMTP id e63so222989708ith.1 for <ietf-http-wg@w3.org>; Wed, 24 Aug 2016 10:20:04 -0700 (PDT)
X-Received: by 10.36.85.195 with SMTP id e186mr111586itb.56.1472059204558; Wed, 24 Aug 2016 10:20:04 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.107.48.136 with HTTP; Wed, 24 Aug 2016 10:20:03 -0700 (PDT)
In-Reply-To: <CANatvzwZRrMMfE14axeS+oVaqSy2fkiDfpSe7cZZriCX2wyjQg@mail.gmail.com>
References: <CACZw55mUg_VjN3Q6TqPCb6udo3mQpoWQVNV5e2iYiNj=hC-2kw@mail.gmail.com> <CABkgnnX=6ZjnFJsh-07SDt+LMprsJ9w7tgSjaeaMKeEgihsD4g@mail.gmail.com> <CA+3+x5FpRGm9XQz2PdvFs6Kfiz3eMH1QLJ0fAeaeqQOSF2c9sw@mail.gmail.com> <CABkgnnWCm4gJ7fg3b8Ud=oBq5xYosoy3q=F3Tn_ChsXE4wHXaQ@mail.gmail.com> <CANatvzyWWjSzMmotoE3vbZubHPkafrQnL0vyNbvNBwierc_9iA@mail.gmail.com> <CABkgnnXGtECfidLrgPH_ggVOOs0YitTKKQaMAw-Fe7BJzBM_gw@mail.gmail.com> <CANatvzwZRrMMfE14axeS+oVaqSy2fkiDfpSe7cZZriCX2wyjQg@mail.gmail.com>
From: Tom Bergan <tombergan@chromium.org>
Date: Wed, 24 Aug 2016 10:20:03 -0700
X-Gmail-Original-Message-ID: <CA+3+x5FiqK+_JhtnJOnFsks_QL3hSRt8bVo-kncdrm-rHsNpUg@mail.gmail.com>
Message-ID: <CA+3+x5FiqK+_JhtnJOnFsks_QL3hSRt8bVo-kncdrm-rHsNpUg@mail.gmail.com>
To: Kazuho Oku <kazuhooku@gmail.com>
Cc: Martin Thomson <martin.thomson@gmail.com>, Stefan Eissing <stefan.eissing@greenbytes.de>, HTTP Working Group <ietf-http-wg@w3.org>
Content-Type: multipart/alternative; boundary="001a1143b92efa4654053ad47d46"
Received-SPF: pass client-ip=209.85.214.48; envelope-from=tombergan@chromium.org; helo=mail-it0-f48.google.com
X-W3C-Hub-Spam-Status: No, score=-5.1
X-W3C-Hub-Spam-Report: AWL=-0.380, BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-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 1bcbqp-0007yG-K9 2bcb5752f670b91bca152e8ea7ae2ed5
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Experiences with HTTP/2 server push
Archived-At: <http://www.w3.org/mid/CA+3+x5FiqK+_JhtnJOnFsks_QL3hSRt8bVo-kncdrm-rHsNpUg@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/32356
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>

On Sun, Aug 14, 2016 at 6:58 PM, Kazuho Oku <kazuhooku@gmail.com> wrote:
>
> Generally speaking, a server should respect the priority tree
> constructed by the client if it considers the client's knowledge of
> how the responses should be ordered superior to the knowledge of the
> server. OTOH, if a server considers itself to have better knowledge on
> how to prioritize the streams, then it should ignore client-driven
> prioritization.
>
> Since the client cannot accurately prioritize a pushed stream until
> client observes how the resource is used, server-driven prioritization
> of pushed streams is necessary until client updates the priority of a
> pushed stream.
>
> So our approach is to create a separate tiny pool of streams _above_
> the HTTP/2 prioritization tree, and initially register the pushed
> streams with certain media types (e.g. CSS, JavaScript) to the tiny
> pool. The server does not send PRIORITY frames for the pushed streams.
>
> This means that until the client sends a PRIORITY frame to update the
> precedence of a pushed stream, pushed CSS and JS will be sent before
> any other responses. Once the server receives a PRIORITY frame, then
> the pushed streams will be prioritized as specified by the client.
>

Belated response: I think this is the right approach and I think Apache
should switch to an implementation more like this.