Re: 6455 Websockets and the relationship to HTTP

Jacob Champion <champion.p@gmail.com> Fri, 02 December 2016 18:40 UTC

Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=lists.ie@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 (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 013FA12968D for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 2 Dec 2016 10:40:43 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.897
X-Spam-Level:
X-Spam-Status: No, score=-9.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-2.896, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 0JOpVM2P4Os4 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Fri, 2 Dec 2016 10:40:40 -0800 (PST)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D154112967C for <httpbisa-archive-bis2Juki@lists.ietf.org>; Fri, 2 Dec 2016 10:40:40 -0800 (PST)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1cCsib-0003PJ-KN for ietf-http-wg-dist@listhub.w3.org; Fri, 02 Dec 2016 18:37:57 +0000
Resent-Date: Fri, 02 Dec 2016 18:37:57 +0000
Resent-Message-Id: <E1cCsib-0003PJ-KN@frink.w3.org>
Received: from titan.w3.org ([128.30.52.76]) by frink.w3.org with esmtps (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <champion.p@gmail.com>) id 1cCsiT-0003Nv-Kx for ietf-http-wg@listhub.w3.org; Fri, 02 Dec 2016 18:37:49 +0000
Received: from mail-pg0-f46.google.com ([74.125.83.46]) by titan.w3.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <champion.p@gmail.com>) id 1cCsiN-00054n-4U for ietf-http-wg@w3.org; Fri, 02 Dec 2016 18:37:44 +0000
Received: by mail-pg0-f46.google.com with SMTP id 3so110118080pgd.0 for <ietf-http-wg@w3.org>; Fri, 02 Dec 2016 10:37:04 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:to:references:cc:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding; bh=yVxKWP/ZFlO86yCBs70eKVEzygRCF0hmQLy9gr2oHy8=; b=tQQUJZbgattqkwGjf+Bbo/K6oTenTc2y9u1nj9Lz5HIJ1GvFW0hcJQQe8z4Pqg1FNn j7gbujG8kevByS8hxayU4UsM2cxJbCRgkd+Scu85hVVChL4QVKfS3qdUuMrWeXMBYpOs 9UJ42nhegHj7V+ukCeDap5e7yPfzKPFPsSMxouJvqVPfCb2g4obNuhISuC8KnMXJsJov lZFPT42RpVmTvdvmRWS2y1Romo/iE5WZLKxu9WW9whi9aIHhYX/fafXRo3fnZo4OQNNm dmSMSoPz+cQDoMOHzDwhSjy+iGBbFc6EKmNnRSbYgsgMhwGwg7xREswc6jaPXfZjfAvK RZZg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:to:references:cc:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=yVxKWP/ZFlO86yCBs70eKVEzygRCF0hmQLy9gr2oHy8=; b=ccZBjqC8VnFMLDsm4Rk4U9uiOZnE8F4V/BiZyoEGzvYoJ/jJssgFgwz1xxpo4AkJ+B ngUxA357tdRHU43tiCJ8YDgoDI65nd1kTtlstoGrH19oJYqOqiaJFQmrMxxaxW2/wGqs I3GvKV6bB+Z5SgTQMNeU2wB1kwKL7Brp90oDZbffr6DYC/8siLYYipVWFL7Ff54KGa4U 1KdF7ozrR4eTS6aaUNYOpoBHJxNhxkitBAWARzq+wo5YUXqgzNO/JsURK+OV7aAn0apn jEPOsYD4LHPPnmahFtjL1xw2j1tIBE8bbpw27mWWLGsOAhEkPRSq87tqtscIaJojvvjM yGsg==
X-Gm-Message-State: AKaTC02Kw5Gyr0wq8biwWvHfD1C4snv31vlEAnKOov0D5uDw2XzIZAj3hvbaMZa2i7jAEw==
X-Received: by 10.99.235.10 with SMTP id t10mr80852538pgh.95.1480703817900; Fri, 02 Dec 2016 10:36:57 -0800 (PST)
Received: from [192.168.1.7] (50-39-112-180.bvtn.or.frontiernet.net. [50.39.112.180]) by smtp.gmail.com with ESMTPSA id e11sm9484749pgp.10.2016.12.02.10.36.56 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 02 Dec 2016 10:36:57 -0800 (PST)
To: Patrick McManus <mcmanus@ducksong.com>
References: <CAOdDvNqk7W_oNWUismMb-ZuhvdboZNDQ0YV2BLsbka-FGC-7oA@mail.gmail.com> <39F32B28-7116-478A-B02A-E8310EA6E189@mnot.net> <CABkgnnVZeLQGES5Dige8u+ukSgqSfJNKiCuL=oK3gQnAb_3LNw@mail.gmail.com> <CANatvzwoUYaC_YPTTF6fdwN5aOiwrttyH9Xj7xYVR1i1DZ27bA@mail.gmail.com> <037D2D57-7423-4375-9FEC-50B3106F42ED@mnot.net> <CANatvzx=mOQ3kE-vnvwNvD2w26+RNTueHgu7BhHLnJixn0vRcw@mail.gmail.com> <9e6f1a46-a782-a688-5b16-836d28032823@treenet.co.nz> <1480646012.4219.21.camel@warmcat.com> <CAOdDvNqShPUdu6zt-dPDpXm31eP2xX_dahrTr8JEbOOGQFFNSw@mail.gmail.com> <220b575c-a953-a8fe-1591-00d1e676b201@gmail.com> <CAOdDvNpdxHWj97S=A+Xtf5k3aWfSWg6AStxji4PKemw=xnH_XQ@mail.gmail.com>
Cc: HTTP Working Group <ietf-http-wg@w3.org>
From: Jacob Champion <champion.p@gmail.com>
Message-ID: <7d0180d5-b3fa-dc7f-e211-a6b9ae0d826c@gmail.com>
Date: Fri, 02 Dec 2016 10:36:56 -0800
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1
MIME-Version: 1.0
In-Reply-To: <CAOdDvNpdxHWj97S=A+Xtf5k3aWfSWg6AStxji4PKemw=xnH_XQ@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 7bit
Received-SPF: pass client-ip=74.125.83.46; envelope-from=champion.p@gmail.com; helo=mail-pg0-f46.google.com
X-W3C-Hub-Spam-Status: No, score=-4.0
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: titan.w3.org 1cCsiN-00054n-4U 546785a0a7804065208135a853c0ec3f
X-Original-To: ietf-http-wg@w3.org
Subject: Re: 6455 Websockets and the relationship to HTTP
Archived-At: <http://www.w3.org/mid/7d0180d5-b3fa-dc7f-e211-a6b9ae0d826c@gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/33094
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>

On 12/02/2016 10:02 AM, Patrick McManus wrote:
>
> On Fri, Dec 2, 2016 at 12:52 PM, Jacob Champion <champion.p@gmail.com
> <mailto:champion.p@gmail.com>> wrote:
>
>     so that existing clients of WS subprotocol
>
> you had me at subprotocol.
>
> which one(s)? Pointers to definitions? It would be interesting to see
> how well that mechanism took off - mostly I've seen it used for versioning.

If you mean the registered list:

     https://www.iana.org/assignments/websocket/websocket.xml

It's grown a bit since last I looked. Twenty-five or so?

> but secondarily, sub-protocol negotiation is part of the js api so I
> probably need a little clarification about what you have in mind as the
> gap you objected to wrt subprotocol. Thanks.

Right, the negotiation itself wasn't so much what my fear was about. 
I'll need to dig the specs out again, but the two (admittedly minor) 
gaps that I remember right now are application-data pings and 
frame-by-frame message streaming. There might be others.

(Since frame boundaries don't have *semantic* meaning in WS, the major 
thing to keep for WS/2 is the ability to send control frames in the 
middle of a very large message, which IIUC the WS API does not currently 
allow. As for pings, the data reflected by the server could allow 
clients to perform rudimentary latency monitoring or something else 
clever at the application level, perhaps for clock synchronization...?)

For the record, I'm not currently aware of a *specific* subprotocol that 
would break using only the WS API subset. That would be better answered 
by the HyBi experts, I think.

--Jacob