Re: Overhead of HTTP/2 Stream Management.

Max Bruce <max.bruce12@gmail.com> Mon, 06 April 2015 00:38 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 4A8931A03C7 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sun, 5 Apr 2015 17:38:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.011
X-Spam-Level:
X-Spam-Status: No, score=-7.011 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, 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 GsfHXjr8XH4U for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Sun, 5 Apr 2015 17:38:50 -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 199971A03AA for <httpbisa-archive-bis2Juki@lists.ietf.org>; Sun, 5 Apr 2015 17:38:50 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1Yev1T-0000Xj-QX for ietf-http-wg-dist@listhub.w3.org; Mon, 06 Apr 2015 00:36:15 +0000
Resent-Date: Mon, 06 Apr 2015 00:36:15 +0000
Resent-Message-Id: <E1Yev1T-0000Xj-QX@frink.w3.org>
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtp (Exim 4.80) (envelope-from <max.bruce12@gmail.com>) id 1Yev1Q-0000X0-IC for ietf-http-wg@listhub.w3.org; Mon, 06 Apr 2015 00:36:12 +0000
Received: from mail-ig0-f170.google.com ([209.85.213.170]) by maggie.w3.org with esmtps (TLS1.2:RSA_ARCFOUR_SHA1:128) (Exim 4.80) (envelope-from <max.bruce12@gmail.com>) id 1Yev1P-0008OD-42 for ietf-http-wg@w3.org; Mon, 06 Apr 2015 00:36:12 +0000
Received: by igblo3 with SMTP id lo3so10543683igb.0 for <ietf-http-wg@w3.org>; Sun, 05 Apr 2015 17:35:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=c8/GcLlabYGc4nLo4eKuFaivC/j1uEp/JZ6FpWHocUQ=; b=ZUQLFLOAlBS82qyitppverTERaSC+3JOc0Ooy5xqbWmk1DTVjQYnA6C92icecTzjdb yX2H43nHhH2xsfI6yxPMQukmeVaal2thNlYLC7JpZagbTYQ8IvTQj6iXVlgyUNfpUnHt jrD0idAo2leN3DWijH5U+5YkZTp7Y1WNt2r3JPEQk4znTT7j3fSLFl0Hkaq2CoqW+I+e sEyjaJDHBdemOOhBvZcGiGFLbfZ6i0vIaaZtlQxPV0Wl8lZysns1t54BPWd99ORJwm6a 53IivRc8EUSM23tynI/JqGlv450lZAVg3S961FA/Hn3YNZI7HyDAfYGXmStXmduF3xJn H3FQ==
MIME-Version: 1.0
X-Received: by 10.50.111.168 with SMTP id ij8mr19594483igb.43.1428280544983; Sun, 05 Apr 2015 17:35:44 -0700 (PDT)
Received: by 10.36.58.142 with HTTP; Sun, 5 Apr 2015 17:35:44 -0700 (PDT)
In-Reply-To: <CABb0SYS2R1PvetDSZxAOSpyEi2QHkjGOGXiP2NJxrLuoQPn-hA@mail.gmail.com>
References: <CABb0SYTLVFYXymJ75TkNkku3oT5pRcSAahjq2HcD5gDLouskpA@mail.gmail.com> <20150405183651.GA11551@1wt.eu> <CABb0SYTSW+M1NjBAa_s7dcB56obj1nEbQmt5r6P7eStTBmTwHg@mail.gmail.com> <20150405185755.GD8875@1wt.eu> <CABb0SYR0wV1U5i2n=PbZd+BFTBntJFvzFD0DPPRVHXyJP=Oyqg@mail.gmail.com> <20150405234911.GA16399@1wt.eu> <CABb0SYRkaX_FJGv4n9_hg+1UYydao0sOCU13WsVFEdPdjkMfiQ@mail.gmail.com> <20150406001616.GC16399@1wt.eu> <CABb0SYS2R1PvetDSZxAOSpyEi2QHkjGOGXiP2NJxrLuoQPn-hA@mail.gmail.com>
Date: Sun, 05 Apr 2015 17:35:44 -0700
Message-ID: <CABb0SYTV6J_dcS2BanOL6VzCFUgWd0=FmuC83hh-1xtWsaGiZA@mail.gmail.com>
From: Max Bruce <max.bruce12@gmail.com>
To: Willy Tarreau <w@1wt.eu>
Cc: "ietf-http-wg@w3.org" <ietf-http-wg@w3.org>
Content-Type: multipart/alternative; boundary="047d7b41453485ffa50513037a6e"
Received-SPF: pass client-ip=209.85.213.170; envelope-from=max.bruce12@gmail.com; helo=mail-ig0-f170.google.com
X-W3C-Hub-Spam-Status: No, score=-3.2
X-W3C-Hub-Spam-Report: AWL=-0.691, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: maggie.w3.org 1Yev1P-0008OD-42 3b74f5c8d4f4a7173f2f04e8c47e892d
X-Original-To: ietf-http-wg@w3.org
Subject: Re: Overhead of HTTP/2 Stream Management.
Archived-At: <http://www.w3.org/mid/CABb0SYTV6J_dcS2BanOL6VzCFUgWd0=FmuC83hh-1xtWsaGiZA@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/29275
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>

Sorry, I formatted it as a request, this would be more proper:

HTTP/1.1 206 Partial Content (or some custom status code if you want to be
original)
X-Req-ID: blah
(other headers MAY be necessary, probably not, original response will
likely have anything)

FFFF
65535 bytes of data

On Sun, Apr 5, 2015 at 5:28 PM, Max Bruce <max.bruce12@gmail.com> wrote:

> I get your point, but using something like chunked transfer encoding, you
> could use the same idea of id-assigned packets to have intermittent
> requests.
> However, generally your not performing requests while streaming, but
> support would be for the best, and I'll definitely set to do this. I'm
> thinking we have response-like chunked encoding for each chunk. ex.
>
> request for video
>
> chunk 1 =
> CHK * HTTP/1.1
> X-Req-ID: -theid/orpush-
>
> FFFF
> 65535 bytes of stream.
>
>
>
> On Sun, Apr 5, 2015 at 5:16 PM, Willy Tarreau <w@1wt.eu> wrote:
>
>> On Sun, Apr 05, 2015 at 04:55:04PM -0700, Max Bruce wrote:
>> > Each request adds a X-Req-ID to the headers as such:
>> >
>> > GET / HTTP/1.1
>> > X-Req-ID: random-unique-per-connection-id
>> > other headers...
>> >
>> > and the server responds...
>> >
>> > HTTP/1.1 200 OK
>> > X-Req-ID: request-id-here
>> > X-Req-Target: /
>> > other headers...
>> >
>> > BUT, can also respond twice or more for server pushing:
>> >
>> > HTTP/1.1 200 OK
>> > X-Req-ID: -PUSH-
>> > X-Req-Target: /logo.png
>> > other headers...
>>
>> But that doesn't work. You don't have multiplexed streams this way, just
>> full requests then full responses. Try to download two videos in parallel
>> and you'll have a full video and once completely downloaded, you'll get
>> the second one. What you are proposing here is just a very minor add-on
>> to what we were doing with HTTP/1, basically you allow the server to
>> respond out of order, that's all.
>>
>> H2 supports multiple streams over the same TCP connection to limit the
>> buffer bloat issue, to reduce the connection counts, and to try to
>> conserve the TCP congestion windows. And it supports these streams
>> in *parallel*, yours are serialized.
>>
>> Regards,
>> Willy
>>
>>
>