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

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
>

Received on Monday, 16 October 2017 12:16:21 UTC