Re: [hybi] New Version Notification for draft-mcmanus-httpbis-h2-websockets-00.txt

Patrick McManus <pmcmanus@mozilla.com> Mon, 16 October 2017 12:15 UTC

Return-Path: <pmcmanus@mozilla.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 B8A6013431F for <hybi@ietfa.amsl.com>; Mon, 16 Oct 2017 05:15:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.733
X-Spam-Level:
X-Spam-Status: No, score=-0.733 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_SORBS_SPAM=0.5, SPF_SOFTFAIL=0.665, URIBL_BLOCKED=0.001] autolearn=no 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 URCPwBkFF2Py for <hybi@ietfa.amsl.com>; Mon, 16 Oct 2017 05:15:58 -0700 (PDT)
Received: from linode64.ducksong.com (www.ducksong.com [192.155.95.102]) by ietfa.amsl.com (Postfix) with ESMTP id 331D6132D49 for <hybi@ietf.org>; Mon, 16 Oct 2017 05:15:58 -0700 (PDT)
Received: from mail-lf0-f42.google.com (mail-lf0-f42.google.com [209.85.215.42]) by linode64.ducksong.com (Postfix) with ESMTPSA id 3273E3A0A6 for <hybi@ietf.org>; Mon, 16 Oct 2017 08:15:57 -0400 (EDT)
Received: by mail-lf0-f42.google.com with SMTP id d10so16742786lfg.11 for <hybi@ietf.org>; Mon, 16 Oct 2017 05:15:57 -0700 (PDT)
X-Gm-Message-State: AMCzsaXv6I9+HgItvUmVBMe1GaO5IU2BkoDyH+deYxQ7IzczO52Nzyf2 5ruh+yxXbLEEui1AH0OAFeb5x70NzJMXb4hf6UM=
X-Google-Smtp-Source: ABhQp+S48xl9OaLvr06Jsmk7PEhZ5LdXX/HDzi16R5i/5U+6mhagAEzFFl6X2JQSDBh5IhmYePtwjKNr7Y2HToDuTPc=
X-Received: by 10.25.142.13 with SMTP id q13mr2917824lfd.217.1508156155908; Mon, 16 Oct 2017 05:15:55 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.25.21.22 with HTTP; Mon, 16 Oct 2017 05:15:54 -0700 (PDT)
In-Reply-To: <e971cda1-f022-50a6-0e3b-d1a264d6f358@warmcat.com>
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> <e971cda1-f022-50a6-0e3b-d1a264d6f358@warmcat.com>
From: Patrick McManus <pmcmanus@mozilla.com>
Date: Mon, 16 Oct 2017 08:15:54 -0400
X-Gmail-Original-Message-ID: <CAOdDvNrZf-19CmPnZFma_H+iajVgXkUjFiPH0jX3MAVVKju5hg@mail.gmail.com>
Message-ID: <CAOdDvNrZf-19CmPnZFma_H+iajVgXkUjFiPH0jX3MAVVKju5hg@mail.gmail.com>
To: Andy Green <andy@warmcat.com>
Cc: Martin Thomson <martin.thomson@gmail.com>, 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>
Content-Type: multipart/alternative; boundary="f403045f5312f05c2c055ba8f717"
Archived-At: <https://mailarchive.ietf.org/arch/msg/hybi/MuVfxEvgG46DAIfvFWX-MulEaOI>
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 12:16:00 -0000

On Mon, Oct 16, 2017 at 12:44 AM, Andy Green <andy@warmcat.com> wrote:

>
> You can probably pipeline the CONNECT + ws handshake though, Patrick shows
> them sequentially and I didn't think about it myself.
>
>
right. The example is just for clarity and cannot show all expressions of
h2 flows.

CONNECT + DATA before the response headers is pretty much the h2 analog of
TCP Fast Open. The devil is in the details.. That's a general CONNECT +
DATA issue not limited to the protocol upgrade described here so I don't
think its worth discussion in a websockets rfc.

I think the path to success here hinges on a very tight scoping of work and
therefore optimizing handshake latency is a non-goal of this effort.



> 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
>