Re: [hybi] Fwd: New Version Notification for draft-mcmanus-httpbis-h2-websockets-01.txt
John Fallows <john.fallows@kaazing.com> Thu, 26 October 2017 21:47 UTC
Return-Path: <john.fallows@kaazing.com>
X-Original-To: hybi@ietfa.amsl.com
Delivered-To: hybi@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4295F13F61C for <hybi@ietfa.amsl.com>; Thu, 26 Oct 2017 14:47:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.888
X-Spam-Level:
X-Spam-Status: No, score=-1.888 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, T_SPF_PERMERROR=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=kaazing-com.20150623.gappssmtp.com
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 Ul635gEIkkoW for <hybi@ietfa.amsl.com>; Thu, 26 Oct 2017 14:47:23 -0700 (PDT)
Received: from mail-ua0-x22c.google.com (mail-ua0-x22c.google.com [IPv6:2607:f8b0:400c:c08::22c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8E4B01397F3 for <hybi@ietf.org>; Thu, 26 Oct 2017 14:47:23 -0700 (PDT)
Received: by mail-ua0-x22c.google.com with SMTP id i35so3520987uah.9 for <hybi@ietf.org>; Thu, 26 Oct 2017 14:47:23 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kaazing-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=e8ja3jA8v1VQLqBU0Ssxu9lOLMyeiGb5zRC9qAgyOE0=; b=U5Bsu7feWWADTffGSPyJvN12XkfsLVTtXGx28B5/LqBatMmnSaou8rfgl1qorm1j3Z TQaa0G5E//FqvueC60lRV7c5SSIMIZlxcRDL1Ts39ypQLlgy7oShQop/cuyu4oUattUU YpFGFyRFu+SgCEGFMwxiGeBeYdx/LDBkQ2shElm+wAcDqdAxiLdKXKZ0EIn9zM5BOQq6 5H3YED2tfVvWRoVYUItuTCnDgevz93IIx/b3zYNHc29zJGYbuVxqXUp287lcjbn525hq 58o6ePJfq7Y1IJ7iowCZMx96Td7xSZUgw9XaOBvQNvFD0ccFTMHJkqZoH1w9n6B32dQV bOGA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=e8ja3jA8v1VQLqBU0Ssxu9lOLMyeiGb5zRC9qAgyOE0=; b=atAVZMiOesULnScJyWwPIQo5oCOWsjTqvR1V4RtOfNucgnF9ZDXPYMZcaed4HHOvKA SismYFHn8ZU540pefFH6Bi5E5BmRZOs9m8nYThRJnQ5Wuo3YO75/i+A+GY1n4Mves64u PHa3kAjmHA9S7XSAERwmZ8kAaf4Eb/dB0R3S2jAY0VNb3YU3QEP++zTetJQzVpAqJoLk 0sOpDQmI8bD5scTxgmAzMhepEa5bOnBc0fKvr1Mn5nCN8OvZp4zzpQWoGIUvvNSwGcv5 XtYNk0fzid/NxzFNkURnzIhYpJCvQ5+8Xgd3PQr2aGdoLMpGYHwuCccBlUzRu2zppRU+ EjIA==
X-Gm-Message-State: AMCzsaUuhbG2djNnRHOAU3IiwZWovw5wqUvcsuZpGQluwwtcFtmK6vIc wx6B16ZrlSK393JYtuLe0ZquO8MQZDL8BSaAE9u4Dg==
X-Google-Smtp-Source: ABhQp+Tx1wZ+lfiWbvEbSSWModMEM8l1mjnM+KzYw9MfWZx0ZTnp8iPThyM19crBG26eCAzYa4bre7pde/ZaQA6t1IU=
X-Received: by 10.159.39.97 with SMTP id a88mr5601879uaa.31.1509054442472; Thu, 26 Oct 2017 14:47:22 -0700 (PDT)
MIME-Version: 1.0
References: <150903901882.24232.14013636670744151147.idtracker@ietfa.amsl.com> <CAOdDvNrC1PgribOiDc93hfCDFSJbjodnU8=yeNWgzkq4Cm-2Cg@mail.gmail.com>
In-Reply-To: <CAOdDvNrC1PgribOiDc93hfCDFSJbjodnU8=yeNWgzkq4Cm-2Cg@mail.gmail.com>
From: John Fallows <john.fallows@kaazing.com>
Date: Thu, 26 Oct 2017 21:47:11 +0000
Message-ID: <CACAJL3nEB5jGFXpqPZ2ErdkezCHpZE1CnqXy0yomBP-v7jcGRA@mail.gmail.com>
To: Patrick McManus <pmcmanus@mozilla.com>
Cc: hybi <hybi@ietf.org>, HTTP Working Group <ietf-http-wg@w3.org>
Content-Type: multipart/alternative; boundary="94eb2c122d0cfd9a72055c7a1dab"
Archived-At: <https://mailarchive.ietf.org/arch/msg/hybi/QE_efh-8y_2IZcElAgGh4QtXiw0>
Subject: Re: [hybi] Fwd: New Version Notification for draft-mcmanus-httpbis-h2-websockets-01.txt
X-BeenThere: hybi@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Server-Initiated HTTP <hybi.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/hybi>, <mailto:hybi-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/hybi/>
List-Post: <mailto:hybi@ietf.org>
List-Help: <mailto:hybi-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 26 Oct 2017 21:47:26 -0000
Hi Patrick, Many thanks for spearheading this latest effort to define WebSocket over HTTP/2, it's really encouraging to see the progress. I recall from the early days of the WebSocket protocol design, probably around the time we moved it from W3C HTML5 to IETF HyBi, that the client handshake required sending additional content after the GET w/ Upgrade HTTP/1.1 request. This approach led to increased implementation complexity because the HTTP/1.1 layer on the server now needed to know how to special case the WebSocket usage of GET. It was also a bit trickier than desired because that special case processing of GET now spanned over headers and some initial content. Ultimately, that approach was dropped in favor of a single request-response to define the WebSocket handshake over HTTP/1.1, with no additional request payload needed to process the handshake, making the implementation simpler and with better abstraction layering. The current proposal for WebSocket over HTTP/2 seems to be following a similar approach to that described above at the moment, with the HEADERS frame (requiring special-case processing of CONNECT) and first DATA frame both needed to process the server-side WebSocket handshake over HTTP/2. Suggest we instead fold the origin and relevant RFC-6455 defined HTTP headers into the HEADERS frame for simplicity, recognizing as Mark noted that CONNECT is not really intended for use directly at the origin server, and instead use a TUNNEL method with corresponding :protocol pseudo-header, where the value of the TUNNEL :protocol pseudo-header drives the expectation of additional HTTP/2 headers that should be present. [[ From Client ]] [[ From Server ]] SETTINGS ENABLE_TUNNEL_PROTOCOL = 1 HEADERS + END_HEADERS :method = TUNNEL :protocol = websocket :scheme = https :path = /chat :authority = server.example.com:443 origin = http://www.example.com sec-websocket-protocol = chat, superchat sec-websocket-version = 13 HEADERS + END_HEADERS :status = 200 sec-websocket-protocol = chat DATA WebSocket Frames DATA + END_STREAM WebSocket Frames DATA + END_STREAM WebSocket Frames Note also that the scheme is "https" rather than "wss" because the HTTP request is still "https" until *after* the TUNNEL has been established, and the TUNNEL protocol being selected is based on :protocol header rather than the :scheme header. Hope this is helpful and interested to hear your thoughts and feedback. Kind Regards, John Fallows CTO, Kaazing On Thu, Oct 26, 2017 at 10:32 AM Patrick McManus <pmcmanus@mozilla.com> wrote: > 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 > > > _______________________________________________ > hybi mailing list > hybi@ietf.org > https://www.ietf.org/mailman/listinfo/hybi > -- *John Fallows* CTO* | *📞+1.415.215.6597 *----------------------------------------------------------------------* KAAZING >|< when real-time matters™ kaazing.com/kwic <http://www.kaazing.com/kwic> | Blog <http://blog.kaazing.com/> | Twitter <https://twitter.com/kaazing>
- [hybi] Fwd: New Version Notification for draft-mc… Patrick McManus
- Re: [hybi] Fwd: New Version Notification for draf… John Fallows
- Re: [hybi] Fwd: New Version Notification for draf… Martin Thomson
- Re: [hybi] New Version Notification for draft-mcm… Mark Nottingham
- Re: [hybi] Fwd: New Version Notification for draf… Andy Green
- Re: [hybi] New Version Notification for draft-mcm… Martin Thomson
- Re: [hybi] New Version Notification for draft-mcm… Mark Nottingham
- Re: [hybi] Fwd: New Version Notification for draf… Amos Jeffries
- Re: [hybi] Fwd: New Version Notification for draf… Andy Green
- Re: [hybi] Fwd: New Version Notification for draf… Patrick McManus
- Re: [hybi] Fwd: New Version Notification for draf… Patrick McManus
- Re: [hybi] Fwd: New Version Notification for draf… John Fallows
- Re: [hybi] Fwd: New Version Notification for draf… Patrick McManus
- Re: [hybi] Fwd: New Version Notification for draf… Patrick McManus
- Re: [hybi] Fwd: New Version Notification for draf… John Fallows
- Re: [hybi] Fwd: New Version Notification for draf… Patrick McManus
- Re: [hybi] Fwd: New Version Notification for draf… Anne van Kesteren
- Re: [hybi] New Version Notification for draft-mcm… Kazuho Oku
- Re: [hybi] New Version Notification for draft-mcm… Patrick McManus
- Re: [hybi] Fwd: New Version Notification for draf… Patrick McManus
- Re: [hybi] Fwd: New Version Notification for draf… Willy Tarreau
- Re: [hybi] Fwd: New Version Notification for draf… Kazuho Oku
- Re: [hybi] Fwd: New Version Notification for draf… Wenbo Zhu
- Re: [hybi] Fwd: New Version Notification for draf… Kari Hurtta
- Re: [hybi] Fwd: New Version Notification for draf… Kari Hurtta
- Re: [hybi] Fwd: New Version Notification for draf… Andy Green
- Re: [hybi] Fwd: New Version Notification for draf… Kazuho Oku
- Re: [hybi] Fwd: New Version Notification for draf… Kari Hurtta
- Re: [hybi] Fwd: New Version Notification for draf… Takeshi Yoshino
- Re: [hybi] Fwd: New Version Notification for draf… Takeshi Yoshino
- Re: [hybi] Fwd: New Version Notification for draf… Kari Hurtta
- Re: [hybi] Fwd: New Version Notification for draf… Takeshi Yoshino
- Re: [hybi] Fwd: New Version Notification for draf… Kazuho Oku
- Re: [hybi] Fwd: New Version Notification for draf… Kari Hurtta
- Re: [hybi] Fwd: New Version Notification for draf… Kazuho Oku
- Re: [hybi] Fwd: New Version Notification for draf… Mike Bishop