Re: New Version Notification for draft-mcmanus-httpbis-h2-websockets-01.txt

Hi,

Thank you for working on the draft. I am happy to see WebSockets
coming to HTTP/2, and I like that the proposal tries to make changes
caused by the transition minimal.

The biggest issue I wonder if we can continue using HTTP/1 headers for
WebSocket parameter negotiation (e.g., Sec-WebSocket-Version,
Sec-WebSocket-Protocol), instead of sending them in DATA frames.

The reason I ask this is because unless we keep them as headers, it
would become impossible to implement a ws-on-h2 to ws-on-h1 proxy
without dealing with the details of the WebSocket protocol.

In HTTP/1, it has been possible to implement a HTTP proxy that
supports WebSockets, without the knowledge of sub-protocol
negotiation. This is because all the parameters were negotiated
through the use of the HTTP headers, and a proxy could simply forward
them as-is. All the thing that a proxy has been required to do is to
look at the Upgrade header and the status code, and start running a
bi-directional tunnel once the upstream server sends a 101 response.

With the -01 proposal, the same feature is retained only when a proxy
forwards from ws-on-h2 client to a ws-on-h2 server. In the case of
ws-on-h2 client connecting to ws-on-h1 server (or ws-on-h1 client
connecting to ws-on-h2 server), the proxy needs to convert
WebSocket-specific values sent in DATA frame to a HTTP header (or
vice-versa).

I wonder if this is a necessary complication. If not, I would prefer
to continue sending all the headers necessary for WebSocket
negotiation in HTTP/2 as well.

2017-10-27 2:32 GMT+09:00 Patrick McManus <pmcmanus@mozilla.com>:
> This is an updated based on the direction discussed.. I'm kind of on the
> fence about whether its better. Its nice there is no h1 in there.
>
> ---------- Forwarded message ----------
> From: <internet-drafts@ietf.org>
> Date: Thu, Oct 26, 2017 at 1:30 PM
> Subject: New Version Notification for
> draft-mcmanus-httpbis-h2-websockets-01.txt
> To: Patrick McManus <mcmanus@ducksong.com>
>
>
>
> A new version of I-D, draft-mcmanus-httpbis-h2-websockets-01.txt
> has been successfully submitted by Patrick McManus and posted to the
> IETF repository.
>
> Name:           draft-mcmanus-httpbis-h2-websockets
> Revision:       01
> Title:          Bootstrapping WebSockets with HTTP/2
> Document date:  2017-10-26
> Group:          Individual Submission
> Pages:          9
> URL:
> https://www.ietf.org/internet-drafts/draft-mcmanus-httpbis-h2-websockets-01.txt
> Status:
> https://datatracker.ietf.org/doc/draft-mcmanus-httpbis-h2-websockets/
> Htmlized:
> https://tools.ietf.org/html/draft-mcmanus-httpbis-h2-websockets-01
> Htmlized:
> https://datatracker.ietf.org/doc/html/draft-mcmanus-httpbis-h2-websockets-01
> Diff:
> https://www.ietf.org/rfcdiff?url2=draft-mcmanus-httpbis-h2-websockets-01
>
> Abstract:
>    This document defines a mechanism for running the WebSocket Protocol
>    [RFC6455] over a single stream of an HTTP/2 connection.
>
>
>
>
> Please note that it may take a couple of minutes from the time of submission
> until the htmlized version and diff are available at tools.ietf.org.
>
> The IETF Secretariat
>
>



-- 
Kazuho Oku

Received on Monday, 30 October 2017 05:10:38 UTC