WebSocket over HTTP/2.0

Yutaka Hirano <yhirano@google.com> Fri, 14 February 2014 14:24 UTC

Return-Path: <ietf-http-wg-request@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E90C51A0262 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 14 Feb 2014 06:24:45 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.927
X-Spam-Level:
X-Spam-Status: No, score=-6.927 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.548, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham
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 UuNOP9E2xP7V for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 14 Feb 2014 06:24:43 -0800 (PST)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id 845141A025B for <httpbisa-archive-bis2Juki@lists.ietf.org>; Fri, 14 Feb 2014 06:24:43 -0800 (PST)
Received: from lists by frink.w3.org with local (Exim 4.72) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1WEJg3-0001ul-TC for ietf-http-wg-dist@listhub.w3.org; Fri, 14 Feb 2014 14:23:39 +0000
Resent-Date: Fri, 14 Feb 2014 14:23:39 +0000
Resent-Message-Id: <E1WEJg3-0001ul-TC@frink.w3.org>
Received: from maggie.w3.org ([128.30.52.39]) by frink.w3.org with esmtp (Exim 4.72) (envelope-from <yhirano@google.com>) id 1WEJfv-0001tU-8h for ietf-http-wg@listhub.w3.org; Fri, 14 Feb 2014 14:23:31 +0000
Received: from mail-yh0-f49.google.com ([209.85.213.49]) by maggie.w3.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.72) (envelope-from <yhirano@google.com>) id 1WEJfu-0007su-7P for ietf-http-wg@w3.org; Fri, 14 Feb 2014 14:23:31 +0000
Received: by mail-yh0-f49.google.com with SMTP id t59so11533641yho.22 for <ietf-http-wg@w3.org>; Fri, 14 Feb 2014 06:23:04 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=E8h8vpwUJaBiOeywM8jrwz9qKuc75Y5j3Qs2ucUVOxM=; b=bDpvzzvrJ79qXv2IBv2wh8DWaf51wXWS0XjI2knAVBNFXxfUgl9oNcorjkezu6AioY A0Bmva9k40+vp1+HR1Jf15OSKiXbOd3rWLMJA0oeZYIf363A+pUq4x+B5Z4ndIDJOtk6 DMHyoKFefsDL6jK2MX1D3PH1NF/M103zFK+1rk9TZf304zoCxdhJKSIFBxS0dandIrL5 mH+1C1veL8hx68uH333zQL/Kom1q4yoJt5By0IVAjz809EGkkumwnjEV4ShM0KClqEjb /4oOOehMUgeWxSP3a8gaWk9OROAiWv80tNtjFxOvLWwDUogINaemTBQiB6xDEz1IoGpP vQiA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:date:message-id:subject:from:to :content-type; bh=E8h8vpwUJaBiOeywM8jrwz9qKuc75Y5j3Qs2ucUVOxM=; b=YiD5poTSx4FiQWDCVuNCZIgt2bkCGt6coRVDILkUEjtoPWe+4KlcCuSPuHaWSqmkVq aITTbinBHBYBmwYAtZjherjCy2gQjuTrJbNb8mAHzW/zIRz0uQcKs7oQetGHFo2oPMNM NHhWI+zHjIMaSrZDw0NM0kmc0sVxXZbh4ITC39IuRos8dLwQ8Imp90mBU0KB3e41emtN Yvf3PLhpr7AqLVe2Xbd9cd/MC9De/JbFUTn8Ss06VJ7cENvsNkqII0wFxq/sfsq4QIWt 0h8al6j5fP6uL/bLoi1DzRlVjCuoSmD7oLFCOy804bgnT8aAsKowmVaKTPqDQqUAz6I/ lDTw==
X-Gm-Message-State: ALoCoQltjD2ZGulaNZj9E5QIS1aWf7nn1RkKp2DQChs7RmnQiB2twv9GGJX7suObnCQf9+ZX6J26YTMUEMlQLPgrmTvnKr04Ux6HCSxUCL1WC/TqrzYELJzrhGv83gF6aOuvCtf/iCVTZVZFxsahDm0ubcmVhwk6JBKc9nqhyEQMqdSylQMhBKAzs+G1wPSCt8JHgazTFSBk
MIME-Version: 1.0
X-Received: by 10.236.30.234 with SMTP id k70mr110625yha.148.1392387784013; Fri, 14 Feb 2014 06:23:04 -0800 (PST)
Received: by 10.170.151.137 with HTTP; Fri, 14 Feb 2014 06:23:03 -0800 (PST)
Date: Fri, 14 Feb 2014 23:23:03 +0900
Message-ID: <CABihn6GO7wmYNhyx58Jt43vv0QXzn2=QDqny14byA7DbKfbEcA@mail.gmail.com>
From: Yutaka Hirano <yhirano@google.com>
To: ietf-http-wg@w3.org
Content-Type: multipart/alternative; boundary="001a11c207b441ae7904f25e8b7a"
Received-SPF: pass client-ip=209.85.213.49; envelope-from=yhirano@google.com; helo=mail-yh0-f49.google.com
X-W3C-Hub-Spam-Status: No, score=-3.5
X-W3C-Hub-Spam-Report: AWL=-2.085, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RP_MATCHES_RCVD=-0.651, SPF_PASS=-0.001
X-W3C-Scan-Sig: maggie.w3.org 1WEJfu-0007su-7P e46995c0905b6191dce3e570de82c5d7
X-Original-To: ietf-http-wg@w3.org
Subject: WebSocket over HTTP/2.0
Archived-At: <http://www.w3.org/mid/CABihn6GO7wmYNhyx58Jt43vv0QXzn2=QDqny14byA7DbKfbEcA@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/22231
X-Loop: ietf-http-wg@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <http://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

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