Re: Implementation Notes on Server Push

James M Snell <jasnell@gmail.com> Wed, 15 May 2013 01:25 UTC

Return-Path: <ietf-http-wg-request@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 EF5BA21F8A14 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 14 May 2013 18:25:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.905
X-Spam-Level:
X-Spam-Status: No, score=-9.905 tagged_above=-999 required=5 tests=[AWL=0.694, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id W2+KRieTV4wH for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Tue, 14 May 2013 18:25:47 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id AF08721F89E2 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Tue, 14 May 2013 18:25:47 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1UcQT9-0007Fz-TJ for ietf-http-wg-dist@listhub.w3.org; Wed, 15 May 2013 01:25:27 +0000
Resent-Date: Wed, 15 May 2013 01:25:27 +0000
Resent-Message-Id: <E1UcQT9-0007Fz-TJ@frink.w3.org>
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <jasnell@gmail.com>) id 1UcQSx-0007EU-Nw for ietf-http-wg@listhub.w3.org; Wed, 15 May 2013 01:25:15 +0000
Received: from mail-vc0-f178.google.com ([209.85.220.178]) by maggie.w3.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.72) (envelope-from <jasnell@gmail.com>) id 1UcQSw-0004um-SS for ietf-http-wg@w3.org; Wed, 15 May 2013 01:25:15 +0000
Received: by mail-vc0-f178.google.com with SMTP id id13so1361505vcb.9 for <ietf-http-wg@w3.org>; Tue, 14 May 2013 18:24:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:mime-version:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; bh=EoOlLbDfZkfg98pxjRRJsK7Kd+xqcVSctCZmEcBmQWc=; b=I3DscSAlbmiW8j2wHsOOFBT+lOlwCo7p9cjgeds3knDnEDbveF4Nyt5Ocihes+xTZZ 2L+B2HBq/C0WdmBjUyUt4pb6qjFl1a2azQ1y8W8ZT5P0KGe4eaIgXn7C7moaFGbHMqYe P8ykheDmvp4DvNDAhyQcFMH6L2im7lMKGn3rgKKicrImNabwrVuXUfpwRxI4JIfI1JXC ODMZhOFzq3Cy0yZz95mIXuEwHRG9BMvpmAYtDhM2L/uL4njc4jBchaQ43B66qoN6Q1Ku CxPSTX3u3loeOE+aDwKTandbnc72RnDzdMVvMX4xU4EfcIcaNqwk/Gf7p7ONDqlU5LFa 00ww==
X-Received: by 10.220.173.6 with SMTP id n6mr23216278vcz.52.1368581089254; Tue, 14 May 2013 18:24:49 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.58.12.137 with HTTP; Tue, 14 May 2013 18:24:29 -0700 (PDT)
In-Reply-To: <CAP+FsNcdAiK=Ddd1HTaYSuaTCj6OdKyQRCskuH2OZQ7um9TU6Q@mail.gmail.com>
References: <CAOdDvNqXhG7+xbvBwctQCR4tZePKByw75SR5oBamXTymZa7myA@mail.gmail.com> <CABkgnnURhLU3RJnMDxwErELedAmGKWcVgkE+B+Pn6vR3oYjJ6A@mail.gmail.com> <CAP+FsNcdAiK=Ddd1HTaYSuaTCj6OdKyQRCskuH2OZQ7um9TU6Q@mail.gmail.com>
From: James M Snell <jasnell@gmail.com>
Date: Tue, 14 May 2013 18:24:29 -0700
Message-ID: <CABP7RbftHeAQDiF7u8=nR-q0TVHYtHvSPUO+N48zJ=7Kj49fVQ@mail.gmail.com>
To: Roberto Peon <grmocg@gmail.com>
Cc: Martin Thomson <martin.thomson@gmail.com>, Patrick McManus <pmcmanus@mozilla.com>, HTTP Working Group <ietf-http-wg@w3.org>
Content-Type: text/plain; charset="UTF-8"
Received-SPF: pass client-ip=209.85.220.178; envelope-from=jasnell@gmail.com; helo=mail-vc0-f178.google.com
X-W3C-Hub-Spam-Status: No, score=-3.5
X-W3C-Hub-Spam-Report: AWL=-2.702, 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
X-W3C-Scan-Sig: maggie.w3.org 1UcQSw-0004um-SS 737c2bc6dd89b5efc700fd2ff34d3be4
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Implementation Notes on Server Push
Archived-At: <http://www.w3.org/mid/CABP7RbftHeAQDiF7u8=nR-q0TVHYtHvSPUO+N48zJ=7Kj49fVQ@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/17998
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 Tue, May 14, 2013 at 5:08 PM, Roberto Peon <grmocg@gmail.com> wrote:
> inline
>[snip]
>>
>> > There is language in the spec that if the client resets a stream that it
>> > implicitly resets any associated streams too. That was complicated to
>> > implement and pretty much broke my stream state model internally - while
>> > researching it it appears that mod_spdy and chrome don't implement it at
>> > all. The spec has an editorial note about removing that feature and I
>> > favor
>> > that removal.
>>
>> I added that text, so I tend to agree. :)
>
>
> I agree it should be removed. If we need a mechanism to close many streams,
> we can add a new opcode type instead of some implicit requirement.
>

If I recall correctly, everyone seemed to be nodding in agreement on this one.

>>
>>
>> > I found flow control for pushed streams immensely helpful. It lets the
>> > client bound how much data can be pushed before there is a local GET
>> > matched
>> > up with that. Relatedly, I changed my default SETTINGS window size from
>> > a
>> > ~infinite value to be a smaller push-apropos value and then pipelined a
>> > window update with each odd SYN_STREAM to make pulled streams ~infinite
>> > again while preserving the smaller limit for push and this worked fine
>> > with
>> > all existing servers to my pleasant surprise. That seems to mean at
>> > least
>> > the spdy/3 windowing mechanism is simple enough for people to get right.
>>
>> That's interesting.  Do you believe that it would be worthwhile
>> splitting the initial window size setting in two?  One for streams I
>> initiate, one for streams you initiate?  That would save you a window
>> update on every new stream.
>>

"Splitting the initial window" seems wrong to me. Of course, I don't
have a better suggestion at the moment, but if I did I'm not certain
it would be this ;-)

[snip]

- James