- From: Van Catha <vans554@gmail.com>
- Date: Mon, 5 Dec 2016 15:43:17 -0500
- To: Jacob Champion <champion.p@gmail.com>
- Cc: HTTP working group mailing list <ietf-http-wg@w3.org>
- Message-ID: <CAG-EYChgGTkP0T-qTR-_AQbEeON2N7cgTSLphMNuBT3LS_1o8A@mail.gmail.com>
> This is not correct. WebSocket, as a protocol, is distinct from the JS API. WebSocket, as a protocol, has client->server pings. And there > are WebSocket client implementations that expose them. Autobahn|Python, for example. Yea this is true, but when running over H2/QUIC it kind of loses its luster. WebSocket works well when you need to connect to a backend HTTP server say for a mobile app or non-browser app. Then you can use some quality client libraries. > I think the protocol is more likely to succeed if existing WebSocket implementations can transparently switch between WS/1 and > WS/2 transports as needed. The WiSH RFC was proposed that covered exactly this, there has been a lot of discussion archived in the mailing related to it. A lot of the questions being brought up now have already been answered. Specifically related how to keep interop between WS1 while layering on top of H2. > Andy mentioned that an HTTP/2 transport for WebSocket might mean that we could get rid of client-to-server masking. I don't have any data > to support my spitballing, but that *could* be a pretty decent optimization for implementations, since they no longer have to mask or > de-mask the data in place. For example, it might open up the possibility of scatter/gather I/O for frame handling? See answer above and check out WiSH. This has already been discussed to great detail. These discussions would be more productive if we can all get on the same page with what was already covered in great detail. https://tools.ietf.org/html/draft-yoshino-wish-00 Masking is not needed anymore, if anyone as knowledgeable in the matter as Yoshino can suggest why it is, this mailing list is all ears. WiSH drops ping/pong which is debatable, sure. > perhaps your goal is that WS/2 should be WS/2 or simply 2 way binary streaming to drop the WS association. A basic method to transmit binary data between two opted in endpoints. On Mon, Dec 5, 2016 at 1:34 PM, Jacob Champion <champion.p@gmail.com> wrote: > On 12/01/2016 07:48 AM, Patrick McManus wrote: > >> Here's what I think I'm hearing, but there are so many messages that are >> done in the weeds of the solution space I don't want to lose track of >> the problems being solved - I think this list might help in any >> chartering discussion: >> >> * in a practical sense there is no mux and when you have mux you need >> priority and flow control. h2 solves this. >> * operational overhead of maintaining/admin h1 just to boostrap to >> websockets. >> * latency of a new h1 connection just to bootstrap to websockets >> * operational overhead of separate conns for http and ws >> >> is there more? some data on this stuff would be good. Is this really >> mostly about mux? >> > > I've contributed to a major derailing of the thread elsewhere. My > apologies... To try to bring this back to your original point: > > Andy mentioned that an HTTP/2 transport for WebSocket might mean that we > could get rid of client-to-server masking. I don't have any data to support > my spitballing, but that *could* be a pretty decent optimization for > implementations, since they no longer have to mask or de-mask the data in > place. For example, it might open up the possibility of scatter/gather I/O > for frame handling? > > --Jacob > >
Received on Monday, 5 December 2016 20:44:09 UTC