Re: Prefer-Push, a HTTP extension.
Andy Green <andy@warmcat.com> Fri, 23 November 2018 23:40 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 D2646128AFB for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 23 Nov 2018 15:40:56 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.9
X-Spam-Level:
X-Spam-Status: No, score=-2.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.001, MAILING_LIST_MULTI=-1, 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 DcLScO_3u1xh for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 23 Nov 2018 15:40:55 -0800 (PST)
Received: from frink.w3.org (frink.w3.org [IPv6:2603:400a:ffff:804:801e:34:0:38]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0DD6B1271FF for <httpbisa-archive-bis2Juki@lists.ietf.org>; Fri, 23 Nov 2018 15:40:54 -0800 (PST)
Received: from lists by frink.w3.org with local (Exim 4.89) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1gQL1Q-0003qr-AP for ietf-http-wg-dist@listhub.w3.org; Fri, 23 Nov 2018 23:38:04 +0000
Resent-Date: Fri, 23 Nov 2018 23:38:04 +0000
Resent-Message-Id: <E1gQL1Q-0003qr-AP@frink.w3.org>
Received: from titan.w3.org ([2603:400a:ffff:804:801e:34:0:4c]) by frink.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from <andy@warmcat.com>) id 1gQL1N-0003q9-7H for ietf-http-wg@listhub.w3.org; Fri, 23 Nov 2018 23:38:01 +0000
Received: from warmcat.com ([46.105.127.147]) by titan.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from <andy@warmcat.com>) id 1gQL1L-0002nz-Or for ietf-http-wg@w3.org; Fri, 23 Nov 2018 23:38:00 +0000
To: Evert Pot <me@evertpot.com>, ietf-http-wg@w3.org
References: <18d0e93b-67e1-cfed-5418-fd50594fc5f9@evertpot.com>
From: Andy Green <andy@warmcat.com>
Message-ID: <873c1217-b07b-12cc-4c53-b9f75ebf3bdb@warmcat.com>
Date: Sat, 24 Nov 2018 07:37:32 +0800
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.2.1
In-Reply-To: <18d0e93b-67e1-cfed-5418-fd50594fc5f9@evertpot.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-W3C-Hub-Spam-Status: No, score=-3.9
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: titan.w3.org 1gQL1L-0002nz-Or 5af0bead7e2a46e27f7ca2425b92e0ae
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Prefer-Push, a HTTP extension.
Archived-At: <https://www.w3.org/mid/873c1217-b07b-12cc-4c53-b9f75ebf3bdb@warmcat.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/36094
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: <https://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>
On 19/11/2018 12:27, Evert Pot wrote: > Hi everyone, > > We're a group of people collaborating on a HTTP extension. We would like > to introduce a new header that a HTTP client can use to indicate what > resources they would like to have pushed, based on a link relationship. ... > The work-in-progress draft can be read here: > > <https://github.com/evert/push-please/> I have always been a bit puzzled by how PUSH is supposed to be beneficial when the server doesn't know what the client has locally cached. Nowadays versioned scripts such as those from ajax.googleapis.com are typically told to be cached locally for one year[1] In the case "self" serves everything and all the assets have similar caching policies, after the first visit any PUSH stuff riding on dynamic HTML is going to be 99.99% wasted. The draft doesn't seem to address: - why would this be beneficial compared to just sending n pipelined GETs on h2, if the client understands it wants n things already? Both ways the return data has to be serialized into individual streams with their own headers on a single h2 connection. With HPACK and n GETs that differ only in the request URL, the header sets for each request are cheap and you don't have to worry about either magicking up a new format to carry the info or "market penetration" of implementations. The draft says with its method "it's possible for services to push subordinate resources as soon as possible" but it doesn't compare it to just doing n GETs from the start. I think you find any advantage is hard to measure. But at least the draft should fairly compare itself to the obvious existing way to do it. - where does the contemporary knowledge come from at the client about the relationships? From the server, ultimately? Then this is a bold claim... > It reduces the number of roundtrips. A client can make a single HTTP request and get many responses. h2 pipelining doesn't work like h1 pipelining. You can spam the server with requests on new streams and most (all?) servers will start to process them in parallel while serving of earlier streams is ongoing. The server cannot defer at least reading about the new stream starts on the network connection because it must not delay hearing about tx credit updates or it will deadlock. So there is a strong reason for servers to not delay new stream processing. -Andy [1] "The CDN's files are served with CORS and Timing-Allow headers and allowed to be cached for 1 year." https://developers.google.com/speed/libraries/
- Prefer-Push, a HTTP extension. Evert Pot
- Re: Prefer-Push, a HTTP extension. Mark Nottingham
- Re: Prefer-Push, a HTTP extension. Sebastiaan Deckers
- Re: Prefer-Push, a HTTP extension. Evert Pot
- Re: Prefer-Push, a HTTP extension. Andy Green
- Re: Prefer-Push, a HTTP extension. Evert Pot
- Re: Prefer-Push, a HTTP extension. Willy Tarreau
- Re: Prefer-Push, a HTTP extension. Amos Jeffries
- Re: Prefer-Push, a HTTP extension. Evert Pot