Re: 6455 Websockets and the relationship to HTTP

Jacob Champion <> Mon, 05 December 2016 18:37 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id BF83E129581 for <>; Mon, 5 Dec 2016 10:37:47 -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 H922WtVqQEXq for <>; Mon, 5 Dec 2016 10:37:46 -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 53033129466 for <>; Mon, 5 Dec 2016 10:37:46 -0800 (PST)
Received: from lists by with local (Exim 4.80) (envelope-from <>) id 1cDy6k-0007NZ-OX for; Mon, 05 Dec 2016 18:35:22 +0000
Resent-Date: Mon, 05 Dec 2016 18:35:22 +0000
Resent-Message-Id: <>
Received: from ([]) by with esmtps (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <>) id 1cDy6d-0007Lx-9l for; Mon, 05 Dec 2016 18:35:15 +0000
Received: from ([]) by with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <>) id 1cDy6M-0000P8-42 for; Mon, 05 Dec 2016 18:35:03 +0000
Received: by with SMTP id i88so64689529pfk.2 for <>; Mon, 05 Dec 2016 10:34:35 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20120113; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-transfer-encoding; bh=I3srrDIZWOWtKIiU6bDHG8QhLURcC/3zcQMzBTPDvLA=; b=yYqThpGu6UXYz0f6LY1ix7462i31rruDqi7uZkJ25GvWovVX2Wjc/a97GElY5x9EQW y6YtWyWVx9AX2B5sxc8onhjEzjgbRgJzFCr1Sj2zPT7CEdqwCDFhMqoHYRkqD4IkSu/V 6tDvxUITip04F+IvLJz5SDXCLwzlviX4KOiBblUTYMySkEGf6AzN5XZQweo0rM5Eh+HK K1ew1SJsxqOHX8hZfk7ZkUN+3ihbkEFLZ5HhqptmmduHbdlKrAcmOwAhVXFUoYAJv4Co TjKcatBYpiIClOgz5h1k64kyCh4MMzBJZRstbmGCbX5kl9mbCb7zFtqgkxB5GrQeYlGl 4UDw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20130820; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=I3srrDIZWOWtKIiU6bDHG8QhLURcC/3zcQMzBTPDvLA=; b=DB8oFp+rsY2JXqMMiDlwtIOcuOKPQtCaG7EjV4fr1RP0XrQn1X9Yd2aEicM4t/T+Y+ hsHkbAFaYiyvjxC0UKLti0OCh4UIw+WLuGWcZNLjz1Mnn1Hb6fCnsjvgVx38FerzrZUW 6VSLKxK9X8WV0etk8im6FxLrXrevSQsn2MhECnZm1Nr7cG+yQ5tJxu+AFqCYX6SWT+xv p/jXQt4vw0O0mYMUgDIrdQ/z56OOwNRAJaGC9qBdVRYNYe+/ncBjcfXDJMuUqcGIs+oK vHomj7e4XSdKH30LK0zLlaEXYwuUeJMLsm36ARH0pQhV5APIkZ3JEv/+t0CmR3R0wOqw 0bcQ==
X-Gm-Message-State: AKaTC00yNm4IIKFDBNpNvd2TkjAtxp8TPpo+RRwF0WWsPyuEBUY/Q9zWpaFnnCOrezfPgw==
X-Received: by with SMTP id y19mr104690672pgj.147.1480962869078; Mon, 05 Dec 2016 10:34:29 -0800 (PST)
Received: from [] ( []) by with ESMTPSA id c22sm29274865pgn.12.2016. for <> (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 05 Dec 2016 10:34:28 -0800 (PST)
References: <>
From: Jacob Champion <>
Message-ID: <>
Date: Mon, 05 Dec 2016 10:34:28 -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.001, 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, SPF_PASS=-0.001, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: 1cDy6M-0000P8-42 21d86ef49a365f430b82a8cf572199ea
Subject: Re: 6455 Websockets and the relationship to HTTP
Archived-At: <>
X-Mailing-List: <> archive/latest/33116
Precedence: list
List-Id: <>
List-Help: <>
List-Post: <>
List-Unsubscribe: <>

On 12/01/2016 07:48 AM, Patrick McManus wrote:
> Here's what I think I'm hearing, but there are so many messages that are
> done in the weeds of the solution space I don't want to lose track of
> the problems being solved - I think this list might help in any
> chartering discussion:
> * in a practical sense there is no mux and when you have mux you need
> priority and flow control. h2 solves this.
> * operational overhead of maintaining/admin h1 just to boostrap to
> websockets.
> * latency of a new h1 connection just to bootstrap to websockets
> * operational overhead of separate conns for http and ws
> is there more? some data on this stuff would be good. Is this really
> mostly about mux?

I've contributed to a major derailing of the thread elsewhere. My 
apologies... To try to bring this back to your original point:

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?