Re: 6455 Websockets and the relationship to HTTP

Cory Benfield <> Fri, 02 December 2016 11:39 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 5AF0A129D1C for <>; Fri, 2 Dec 2016 03:39:10 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -9.797
X-Spam-Status: No, score=-9.797 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-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 IBThcWtjtfCS for <>; Fri, 2 Dec 2016 03:39:08 -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 53152129DB8 for <>; Fri, 2 Dec 2016 03:38:31 -0800 (PST)
Received: from lists by with local (Exim 4.80) (envelope-from <>) id 1cCm78-0002Ez-IV for; Fri, 02 Dec 2016 11:34:50 +0000
Resent-Date: Fri, 02 Dec 2016 11:34:50 +0000
Resent-Message-Id: <>
Received: from ([]) by with esmtps (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <>) id 1cCm6v-0002DQ-3O for; Fri, 02 Dec 2016 11:34:37 +0000
Received: from ([]) by with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <>) id 1cCm6o-0000a8-Hq for; Fri, 02 Dec 2016 11:34:31 +0000
Received: by with SMTP id qp4so229642321wjc.3 for <>; Fri, 02 Dec 2016 03:33:56 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20150623; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=htW/aw4SpAVTIkywFqYGqcwAICyUwNAub3UzpNTClc8=; b=vTQLkKZj4caDk9o6zwoDaD1pvIJfvrXHhdjJS/H4mnL09aknCUfmn/OFZBLVeU16Hq Hx+ugDiQW83ye1PSqKiWS/UDH2TuFX5RC0reVQXFGVn4ZuOvFagP7xNIpcRzL5tdTEcS pB1UcCtKYU6KukP0kXKqHnpXz5BQc9ujRUV6XEGODNl5fgFEuAcSVYHeXENOcZk1gNrw 8iEp1lHMbDBqsSEloK2ZnrE4xcIJJ3jk0L34MNsDyaE8OXyxxIY/4M9zqDt34c3GGPAh YTX+IafGbsWFyUV1zSARHgICnQkbojsT5aiFn9dhH9JxoImC8poR7MFJimatQlHBGHc8 tY3g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20130820; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=htW/aw4SpAVTIkywFqYGqcwAICyUwNAub3UzpNTClc8=; b=XXH14ad8rilkp+FgIZmbvJTPTX9mVn/AqK/qcjaDPqjuvmeK5iWtOT/3hPCeMqDpY4 wwef2inxnnLyyUsk3lMBKqqHy0/RNy7ZSQph0PJ4SxfFgoktx4xQ1kCpqG7az5sJhiS5 WK62x0jdJtT2UOGtxGCGmfgjvppR2C7IprN7sJhB2tJTr12BvZgXj+eQr9/GNcPvrNNT lgZmEzHuzqXyBIqRSzDkLfEp2I5NdJOFS79a+oyYAEuif45GHJdEzFKFkbT4CSKEyEeh ZC6ZLBfhHKddrKuJmD8EY2nOhQXoH8TfNq3/J7z34nOHPS893klSUSMCSQ3OXKsgStXp XGFw==
X-Gm-Message-State: AKaTC02FBkCTPbLe+Bdvz3YoH58Xf0M0Xhv3L4GqMYMRT9/4hpC0WwWDzlXTOcDlBYNUDg==
X-Received: by with SMTP id az10mr38687585wjc.145.1480678429999; Fri, 02 Dec 2016 03:33:49 -0800 (PST)
Received: from [] ( []) by with ESMTPSA id p144sm2723467wme.23.2016. (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 02 Dec 2016 03:33:47 -0800 (PST)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 10.2 \(3257\))
From: Cory Benfield <>
In-Reply-To: <>
Date: Fri, 02 Dec 2016 11:33:45 +0000
Cc: Patrick McManus <>, Amos Jeffries <>, HTTP Working Group <>
Content-Transfer-Encoding: quoted-printable
Message-Id: <>
References: <> <> <> <> <> <> <> <> <> <>
To: Andy Green <>
X-Mailer: Apple Mail (2.3257)
Received-SPF: pass client-ip=;;
X-W3C-Hub-Spam-Status: No, score=-2.6
X-W3C-Hub-Spam-Report: AWL=1.343, BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, 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: 1cCm6o-0000a8-Hq cfc4574f1e8766e749232a32a8a58708
Subject: Re: 6455 Websockets and the relationship to HTTP
Archived-At: <>
X-Mailing-List: <> archive/latest/33088
Precedence: list
List-Id: <>
List-Help: <>
List-Post: <>
List-Unsubscribe: <>

> On 2 Dec 2016, at 03:43, Andy Green <> wrote:
> The basic problem is you can't deploy an h2 server that also does ws,
> even in a not very efficient way.  This seems like something failed
> somewhere, and one way or another should be enabled.
> ^--- that's all the "convincing" I plan to do.

I assume that what you mean here is you can’t deploy a H2 *only* server that also does WS: that is, a server with no HTTP/1.1 stack.

To which I reply: so what? Last I looked no-one was deploying servers that can *only* do HTTP/2 except in very specific cases where they are deliberately seeing the HTTP/2 use-cases (the only two instances I know of are Apple’s new Push Notification Service and Amazon’s Alexa API, both of which are HTTP/2 only: presumably they considered and rejected the use of WS, and it didn’t stop them shipping their product).

I don’t think anyone is planning to move to a HTTP/2-only server stack anytime soon, and we have a whole bunch of servers that have mature and battle-tested HTTP/1.1 stacks that aren’t going anywhere. So I’m not really convinced that there’s any demand for H2-only + WS. Of course, I might be wrong (I’m wrong a lot).