Re: 6455 Websockets and the relationship to HTTP

Jacob Champion <> Mon, 05 December 2016 21:40 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id D7B3C129DA4 for <>; Mon, 5 Dec 2016 13:40:07 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -9.897
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: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id dC99ivkrOgy5 for <>; Mon, 5 Dec 2016 13:40:06 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id C5C4B1295D7 for <>; Mon, 5 Dec 2016 13:39:49 -0800 (PST)
Received: from lists by with local (Exim 4.80) (envelope-from <>) id 1cE0wb-0001lw-Vq for; Mon, 05 Dec 2016 21:37:06 +0000
Resent-Date: Mon, 05 Dec 2016 21:37:05 +0000
Resent-Message-Id: <>
Received: from ([]) by with esmtps (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <>) id 1cE0wL-0000k1-Nl for; Mon, 05 Dec 2016 21:36:49 +0000
Received: from ([]) by with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <>) id 1cE0w7-0007xv-70 for; Mon, 05 Dec 2016 21:36:43 +0000
Received: by with SMTP id x23so140789197pgx.1 for <>; Mon, 05 Dec 2016 13:36:01 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20120113; h=subject:to:references:cc:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding; bh=3ZiORa+VOYtvVEOeITOt6xlO02oY1Bt/d7+cdTOXoCE=; b=UFPtUfEYVDkallOHJEl0DWj08QF+GRJExUFpib7sa1oBcorAEYnNXm28f7TxEgNe4i hztUbpD2pmsdeCC9bfecYEVVC18CigWMFRDnDE/Cac7jAxN/9UbDvu6asSWO/lb0C8Pd +GwUBmG2jOfPJBIXKWzybdqDk7lwr3CWcTbWzrhtTmrAWyZsjB6l9W4fKzHVs06+Lflx PKMHrJegwPOopdPN8hRW8urGmjg4ZTOnbuECslkMR8n311uEv01IKUbhaY0B9oBXIiLO BMPC9k0DZG0TsIuO6bjjrqJJu8StjI4H8IUJsmUkB5p7SxHbS0AE41qKsnUa2v8afspK OH7g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; 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=3ZiORa+VOYtvVEOeITOt6xlO02oY1Bt/d7+cdTOXoCE=; b=FSvGtrADULreSs4CH1X9uX0V46olG6osAnlJHonWmFDQubhmhGI5+uW+k5blq1cLJA ALY5HD4y0X93VIbGp/qyOZrN6Gj2TSDC1ygzq4EyOSFEvm6q+cdclzuVNSrwTzvH2nqQ aafX5BiSyzQWIywkLVy9MmrP6dKIlIDNCWrRYwRY6lw1XI8yEFjBJeh1ccIHf0PgZvXX u6aaSlh+n9DYcZ8OjpkQpFo01oQuyl7ZWf3BXguQsH3JvIelXzmkOP+ePip7PAZWp3UF hmk/X+dywMcNPWChJt49rGoJ3b8G5sC5ZuXSpPKQlbrTEH9i2nToZx7JE/0DnALDWiGe 7Y9g==
X-Gm-Message-State: AKaTC034lQ5SoA8hqwF8Up+HLIAxMUtIFySUzNg+Uu2yIHey/bCgrpcE6Etw0aGuu1i3LQ==
X-Received: by with SMTP id 31mr130804220plb.104.1480973750199; Mon, 05 Dec 2016 13:35:50 -0800 (PST)
Received: from [] ( []) by with ESMTPSA id r74sm29494597pfl.79.2016. (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 05 Dec 2016 13:35:49 -0800 (PST)
To: Van Catha <>
References: <> <> <>
Cc: HTTP working group mailing list <>
From: Jacob Champion <>
Message-ID: <>
Date: Mon, 05 Dec 2016 13:35:49 -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: <>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 7bit
Received-SPF: pass client-ip=;;
X-W3C-Hub-Spam-Status: No, score=-4.0
X-W3C-Hub-Spam-Report: AWL=0.009, BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: 1cE0w7-0007xv-70 190ce43bb80ae9022637228dbce99f8b
Subject: Re: 6455 Websockets and the relationship to HTTP
Archived-At: <>
X-Mailing-List: <> archive/latest/33118
Precedence: list
List-Id: <>
List-Help: <>
List-Post: <>
List-Unsubscribe: <>

On 12/05/2016 12:43 PM, Van Catha wrote:
>> 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.

My limited understanding of WiSH is that it explicitly drops some of the 
WebSocket semantics in favor of a more general set of bidirectional 
communication primitives. That's cool. It's also not what I'm advocating 

That said, I haven't been following the WiSH effort as much as I should, 
and the -01 draft is too sparse for me to draw any real conclusions 
from. If you have a pointer to the conversation thread you're referring 
to, so that I can read up, that'd be much appreciated!

>> 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.

I thought the purpose of Patrick's original thread was to consolidate a 
list of concrete reasons for WebSocket to be ported to a new transport. 
If I've misunderstood that, I apologize for the noise.

>> 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.

In that case, your goal and my goal are different. That's fine -- it 
doesn't mean your goal is wrong -- but having you and I debate here, as 
if we had the *same* endgame in mind, is going to be confusing and not 
very helpful for many people, I think.