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

Andy Green <andy@warmcat.com> Mon, 16 October 2017 04:07 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 CC5CB1320CF for <hybi@ietfa.amsl.com>; Sun, 15 Oct 2017 21:07:21 -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 sJOpZYSv4qby for <hybi@ietfa.amsl.com>; Sun, 15 Oct 2017 21:07:21 -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 D4B76126E64 for <hybi@ietf.org>; Sun, 15 Oct 2017 21:07:20 -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>
From: Andy Green <andy@warmcat.com>
Message-ID: <dda4b424-b2e3-7096-c2ce-f61e54df2384@warmcat.com>
Date: Mon, 16 Oct 2017 12:06:09 +0800
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0
In-Reply-To: <CABkgnnWfTcGyUDBfSs1S+M4xaeELZKXa=9JP79kKKvsSjL_ouA@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/r7epnU05VFPQgSy9mVBiPeV1Cyg>
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:07:22 -0000


On 10/16/2017 11:57 AM, Martin Thomson wrote:
> On Mon, Oct 16, 2017 at 2:08 PM, Andy Green <andy@warmcat.com>; wrote:
>> I think you misunderstood something... as it is he has to wait for the
>> SETTINGs to tell him it's possible, wait for the CONNECT and response and
>> wait for the ws handshake to go through before he can send something.
> 
> No, I'm just saying that if you proceed like the CONNECT will work,
> then you can save an RTT over that.  Given that you have a clear
> indication that the server accepts WS, then you don't need to worry
> about this.
> 
> Keep in mind that you don't have to wait a round trip for the server
> SETTINGS frame in TLS 1.3.  That means that you aren't saving much
> with any of these extra steps.
> 

The sequence I gave for counting the RTT includes fetching the html with 
the script that wants to make the connection; until the client gets that 
he cannot start with the ws connection.  This is the typical situation 
for ws connections and in the case the same h2 connection is providing 
everything, it will be the normal case there too.

Client                Server

  - SETTINGS                      - SETTINGS
  - GET /index.html
                  - 200 HEADERS + DATA

  - :method CONNECT
                   - 200 HEADERS

  - DATA ws handshake
                  - DATA ws handshake final

  - DATA ...             - DATA...

So after the h2 link is up, he needs 3 x roundtrips to send some ws 
data.  With an optional PUSH_PROMISE that the client feels he can use...

  - SETTINGS                      - SETTINGS
  - GET /index.html
                  - 200 HEADERS + DATA
                  - PUSH_PROMISE ws contains
                    ws handshake final

  - WINDOW_UPDATE (see below)
  - DATA ...
                  - DATA...

What you are saying will save time I already assume is "for free" since 
it happens during the time the HTML is fetched.

If I am missing the point, could you edit the above copied unchanged 
from my earlier mail to show me the point I am missing?

-Andy