Re: WebSocket2

Ilari Liusvaara <> Sun, 02 October 2016 05:13 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 016FD12B13A for <>; Sat, 1 Oct 2016 22:13:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -9.917
X-Spam-Status: No, score=-9.917 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-2.996, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id FzFNuCmmBZ0j for <>; Sat, 1 Oct 2016 22:13:09 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 358E912B136 for <>; Sat, 1 Oct 2016 22:13:08 -0700 (PDT)
Received: from lists by with local (Exim 4.80) (envelope-from <>) id 1bqZ1I-00086R-Sk for; Sun, 02 Oct 2016 05:09:00 +0000
Resent-Date: Sun, 02 Oct 2016 05:09:00 +0000
Resent-Message-Id: <>
Received: from ([]) by with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <>) id 1bqZ1E-00085Q-43 for; Sun, 02 Oct 2016 05:08:56 +0000
Received: from ([]) by with esmtp (Exim 4.80) (envelope-from <>) id 1bqZ18-0004Vm-Lw for; Sun, 02 Oct 2016 05:08:52 +0000
Received: from localhost (localhost []) by (Postfix) with ESMTP id 7E6C7115B7; Sun, 2 Oct 2016 08:08:22 +0300 (EEST)
X-Virus-Scanned: Debian amavisd-new at
Received: from ([IPv6:::ffff:]) by localhost ( [::ffff:]) (amavisd-new, port 10024) with ESMTP id KfS9MKV8mbSC; Sun, 2 Oct 2016 08:08:21 +0300 (EEST)
Received: from LK-Perkele-V2 ( []) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPSA id 7E7F62313; Sun, 2 Oct 2016 08:08:21 +0300 (EEST)
Date: Sun, 2 Oct 2016 08:08:16 +0300
From: Ilari Liusvaara <>
To: Van Catha <>
Cc: HTTP working group mailing list <>
Message-ID: <>
References: <> <> <> <> <>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <>
User-Agent: Mutt/1.5.23 (2014-03-12)
Received-SPF: none client-ip=;;
X-W3C-Hub-Spam-Status: No, score=-6.6
X-W3C-Hub-Spam-Report: AWL=0.432, BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, RP_MATCHES_RCVD=-3.099, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: 1bqZ18-0004Vm-Lw 4209313951cda16f6bff8567dbaeffba
Subject: Re: WebSocket2
Archived-At: <>
X-Mailing-List: <> archive/latest/32442
Precedence: list
List-Id: <>
List-Help: <>
List-Post: <>
List-Unsubscribe: <>

On Sat, Oct 01, 2016 at 03:18:49PM -0400, Van Catha wrote:
> > Is there request header to request no caching? There is certainly a
> > response header to request no caching.
> I believe there is no request that can specify "don't cache", but I may be
> wrong.
> > Or perhaps use a dedicated method? It would seem pretty obivous that
> > if you see a unknown method, you shouldn't assume very much about what
> > it is.
> I think adding/using an unconventional method will be way beyond the scope
> of what
> is presented.  I do not think anyone will implement that?

Well, if one uses https://, then Websockets connections definitely have
unconventional semantics.
> > Unfortunately, HTTP/2 does not have strict scheme handling like I
> > proposed. With it, one could just have directly used the wss scheme
> > (or ws for oppsec) and be done with it.
> :scheme is perfect! Wow.  If we could pass ws/wss for example as the scheme
> that
> fits perfectly. Looking at
> the spec for schemes
> it seems ws and wss are perfectly valid schemes to use and are registered;

The problem with :scheme is that without the strict handling, you can
get oddball HTTP responses for unknown schemes.

But I guess it could be OK if you had extra response header to indicate
that the server supports WS and intends to establish one (no need for
request header, as the :scheme already impiles intent to establish a WS

> If we wanted to pass ws2, we would have to register the scheme which I think
> should not be a problem.  As ws2 will not be backwards compatible with
> ws/wss.  Would wss2 need to be included as well in this case?

I would say that WS2 would be a bad idea here, and one should reuse the
already-defined Websockets schemes.
> Where is the problem in HTTP/2 that would disallow schemes different from
> http and https, I do not see
> anything related to this?

Well, it doesn't disallow other schemes, just that servers might do odd
things with them (like e.g. ignore the scheme, treating it as https://).

> > It seems to me that using https:// GET here is rather dangerous. Even with
> > extra custom headers.
> Any alternative suggestion?

Well, two above.