W3C home > Mailing lists > Public > ietf-http-wg@w3.org > January to March 2014

WebSocket over HTTP/2.0

From: Yutaka Hirano <yhirano@google.com>
Date: Fri, 14 Feb 2014 23:23:03 +0900
Message-ID: <CABihn6GO7wmYNhyx58Jt43vv0QXzn2=QDqny14byA7DbKfbEcA@mail.gmail.com>
To: ietf-http-wg@w3.org
Hi,

I've submitted a draft of the WebSocket over HTTP/2.0 specification.
http://tools.ietf.org/html/draft-hirano-httpbis-websocket-over-http2-00
https://github.com/yutakahirano/ws-over-http2

It has been discussed at hybi-ietf and spdy-dev, so I would like to recap
the past discussions.

Two years ago, Takashi started a discussion of WebSocket over SPDY at
spdy-dev[1]. Mainly framing and the protocol negotiation method was
discussed. For framing, three plans (A, B and C) were proposed. Many people
liked plan C while some liked plan A.
Unfortunately, the discussion faded away.

I restarted the discussion in this January. I posted a message to spdy-dev
and hybi-ietf. There were no response from spdy-dev and hence we discussed
at hybi-ietf[2].
For framing, the existing plans were updated and further plans were
proposed. Some of them keep the RFC6455 semantics and map a WebSocket frame
to some HTTP/2.0 frames. Others don't preserve the RFC6455 semantics. To
narrow the discussion focus I proposed to decide if we should preserve the
RFC6455 semantics or not. Many but not all agree to preserve the RFC6455.
For protocol negotiation, thanks to the Tobias and Adam's comments, I
revised the protocol negotiation method.
As suggested by Salvatore, I decided to submit a draft and move the
discussion to httpbis wg.

The submitted draft contains several framing plans, but all of them
preserve the RFC6455 semantics. Accepting a plan that doesn't preserve the
RFC6455 requires rewriting the draft from scratch.

WebSocket over HTTP/2.0 requires some additional definitions to be
introduced in HTTP/2.0.
- Introduce SETTINGS_SUPPORTED_SCHEMES as described in the draft.
- A server MUST send a RST_STREAM when it receive a HEADERS with
  an unsupported scheme.
- Introduce HTTP/2.0[xx] as the "Application Layer Protocol Negotiation
  (ALPN) Protocol IDs" registry established in [TLSALPN] for each xx,
  meaning that the HTTP/2.0 protocol with scheme xx (e.g. HTTP/2.0[wss]).

Your comments will be appreciated.

Thanks,

[1]:
https://groups.google.com/forum/#!searchin/spdy-dev/WebSocket/spdy-dev/rwOh5dH4ibU/6QK-egrwDgsJ
[2]: http://www.ietf.org/mail-archive/web/hybi/current/msg10266.html
Received on Friday, 14 February 2014 14:23:31 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 17:14:24 UTC