Re: [hybi] New Version Notification for draft-mcmanus-httpbis-h2-websockets-00.txt
Andy Green <andy@warmcat.com> Mon, 16 October 2017 04:44 UTC
Return-Path: <andy@warmcat.com>
X-Original-To: hybi@ietfa.amsl.com
Delivered-To: hybi@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 15FC1134211 for <hybi@ietfa.amsl.com>; Sun, 15 Oct 2017 21:44:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-0.001, URIBL_BLOCKED=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 N3Xi4mpkFszX for <hybi@ietfa.amsl.com>; Sun, 15 Oct 2017 21:44:26 -0700 (PDT)
Received: from mail.warmcat.com (mail.warmcat.com [163.172.24.82]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C475F13420F for <hybi@ietf.org>; Sun, 15 Oct 2017 21:44:26 -0700 (PDT)
To: Martin Thomson <martin.thomson@gmail.com>
Cc: Patrick McManus <pmcmanus@mozilla.com>, hybi <hybi@ietf.org>, Cory Benfield <cory@lukasa.co.uk>, Patrick McManus <mcmanus@ducksong.com>, HTTP Working Group <ietf-http-wg@w3.org>
References: <150807649389.12130.9191022211105955718.idtracker@ietfa.amsl.com> <CAOdDvNqhaTJmLcEk3CwBBaAbdOroc4U46z+nJzC7+chd1ErSDA@mail.gmail.com> <FEBB57D4-E841-4F45-9B62-81FFC653FF70@lukasa.co.uk> <0F93FB58-579D-4F52-8F22-5FEAFBC99165@warmcat.com> <CAOdDvNpCVxsaKEzoW3EWsK1hmWSBPOP+GHnK-DcP4QO4om_khQ@mail.gmail.com> <f4bb6b5c-b12e-dc59-6faa-15588b692574@warmcat.com> <CABkgnnUfDwYmxi72f-x=z=iwf4+3L_rcLqufJRYvEMpP=Fb3MA@mail.gmail.com> <a4229e61-fb04-30b1-f2c7-a862645d0059@warmcat.com> <CABkgnnX0uXm1mDHL+dy6Z+mCZdofkEshd5jy-a0jV-Hsp88yQA@mail.gmail.com> <3dd5002d-49ca-4af5-1b38-f1dbe530b98e@warmcat.com> <CABkgnnWfTcGyUDBfSs1S+M4xaeELZKXa=9JP79kKKvsSjL_ouA@mail.gmail.com> <dda4b424-b2e3-7096-c2ce-f61e54df2384@warmcat.com> <CABkgnnVeXGzw2HjxkUWW8O_EOjhe6j3p1yqJUuezvMnBtHxtLQ@mail.gmail.com>
From: Andy Green <andy@warmcat.com>
Message-ID: <e971cda1-f022-50a6-0e3b-d1a264d6f358@warmcat.com>
Date: Mon, 16 Oct 2017 12:44:07 +0800
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0
In-Reply-To: <CABkgnnVeXGzw2HjxkUWW8O_EOjhe6j3p1yqJUuezvMnBtHxtLQ@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Language: en-US
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/hybi/s0Lq275pKfnfuBoJzS3XlQfVQP4>
Subject: Re: [hybi] New Version Notification for draft-mcmanus-httpbis-h2-websockets-00.txt
X-BeenThere: hybi@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Server-Initiated HTTP <hybi.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/hybi>, <mailto:hybi-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/hybi/>
List-Post: <mailto:hybi@ietf.org>
List-Help: <mailto:hybi-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 16 Oct 2017 04:44:28 -0000
On 10/16/2017 12:15 PM, Martin Thomson wrote: > On Mon, Oct 16, 2017 at 3:06 PM, Andy Green <andy@warmcat.com> wrote: >> What you are saying will save time I already assume is "for free" since it >> happens during the time the HTML is fetched. > > Assuming that you need to some HTML, that will take a round trip, but > that is concurrent with learning that the server supports websockets. > After that, you should be able to CONNECT and send any frames at the > same time: > > C: SETTINGS > C: GET /index.html > S: SETTINGS <-- I support :protocol > S: 200 + DATA > C: CONNECT + ws hs + DATA <-- client's first WS frames Well, you can't pipeline all those. The way ws works the client proposes one or more protocols and extensions. The server looks at what was sent and picks one protocol and zero or more extensions... > S: 200 + ws hs + DATA <-- server's first WS frames ...only after receiving the server's decision in the final ws hs headers, can the client send any ws data, because until then he doesn't know the disposition of the ws subprotocol or extensions for the stream. You can probably pipeline the CONNECT + ws handshake though, Patrick shows them sequentially and I didn't think about it myself. > Still only two round trips. - SETTINGS - SETTINGS - GET /index.html - 200 HEADERS + DATA - :method CONNECT - DATA ws handshake - 200 HEADERS - DATA ws handshake final - DATA... - DATA ... - DATA... With the part of the pipelining that is legal for ws, two round trips before the client can start to send data and 1.5 before the server can send data... if it's true then you're right it's not so bad. > Were you concerned that the client needs to learn that the server > supports websockets and not just :protocol? No I just followed Patrick's sequencing; he shows them serialized. But you're right at least the CONNECT + ws handshake can probably be pipelined. That's also going to be a variation from normal h2 HEADERS flow if I understood it, on one stream there will be END_HEADERs coming twice (for the CONNECT and the ws handshake separately) Anyway you are right, it makes any difference with PUSH_PROMISE probably not worth the effort. -Andy
- Re: [hybi] New Version Notification for draft-mcm… Cory Benfield
- Re: [hybi] New Version Notification for draft-mcm… Andy Green
- Re: [hybi] New Version Notification for draft-mcm… Patrick McManus
- Re: [hybi] New Version Notification for draft-mcm… Andy Green
- Re: [hybi] New Version Notification for draft-mcm… Martin Thomson
- Re: [hybi] New Version Notification for draft-mcm… Andy Green
- Re: [hybi] New Version Notification for draft-mcm… Martin Thomson
- Re: [hybi] New Version Notification for draft-mcm… Andy Green
- Re: [hybi] New Version Notification for draft-mcm… Martin Thomson
- Re: [hybi] New Version Notification for draft-mcm… Andy Green
- Re: [hybi] New Version Notification for draft-mcm… Martin Thomson
- Re: [hybi] New Version Notification for draft-mcm… Andy Green
- Re: [hybi] New Version Notification for draft-mcm… Martin Thomson
- Re: [hybi] New Version Notification for draft-mcm… Jesse Wilson
- Re: [hybi] New Version Notification for draft-mcm… Patrick McManus
- Re: [hybi] New Version Notification for draft-mcm… Lucas Pardue
- Re: [hybi] New Version Notification for draft-mcm… Mike Bishop
- Re: [hybi] New Version Notification for draft-mcm… Patrick McManus
- Re: [hybi] New Version Notification for draft-mcm… Stefan Eissing
- Re: [hybi] New Version Notification for draft-mcm… Patrick McManus
- Re: [hybi] New Version Notification for draft-mcm… Patrick McManus
- Re: [hybi] New Version Notification for draft-mcm… Stefan Eissing
- Re: [hybi] New Version Notification for draft-mcm… Loïc Hoguin
- Re: [hybi] New Version Notification for draft-mcm… Patrick McManus
- Re: [hybi] New Version Notification for draft-mcm… Stefan Eissing
- Re: [hybi] New Version Notification for draft-mcm… Stefan Eissing
- Re: [hybi] New Version Notification for draft-mcm… Patrick McManus
- Re: [hybi] New Version Notification for draft-mcm… Mike Bishop
- Re: [hybi] New Version Notification for draft-mcm… Andy Green
- Re: [hybi] New Version Notification for draft-mcm… Mike Bishop
- Re: [hybi] New Version Notification for draft-mcm… Mark Nottingham
- Re: [hybi] New Version Notification for draft-mcm… Julian Reschke