Re: [hybi] [whatwg] Web sockets and existing HTTP stacks

Jamie Lokier <jamie@shareable.org> Sat, 19 December 2009 00:55 UTC

Return-Path: <jamie@shareable.org>
X-Original-To: hybi@core3.amsl.com
Delivered-To: hybi@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B480E3A69F9 for <hybi@core3.amsl.com>; Fri, 18 Dec 2009 16:55:03 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.369
X-Spam-Level:
X-Spam-Status: No, score=-3.369 tagged_above=-999 required=5 tests=[AWL=-0.770, BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xt2v9DCwpLhX for <hybi@core3.amsl.com>; Fri, 18 Dec 2009 16:55:02 -0800 (PST)
Received: from mail2.shareable.org (mail2.shareable.org [80.68.89.115]) by core3.amsl.com (Postfix) with ESMTP id C14EB3A69F6 for <hybi@ietf.org>; Fri, 18 Dec 2009 16:55:02 -0800 (PST)
Received: from jamie by mail2.shareable.org with local (Exim 4.63) (envelope-from <jamie@shareable.org>) id 1NLnak-0002un-Ki; Sat, 19 Dec 2009 00:54:42 +0000
Date: Sat, 19 Dec 2009 00:54:42 +0000
From: Jamie Lokier <jamie@shareable.org>
To: Justin Erenkrantz <justin@erenkrantz.com>
Message-ID: <20091219005442.GA10949@shareable.org>
References: <557ae280911171402v7546e5e7n93a1e57f87dc10e5@mail.gmail.com> <557ae280911200711i5493e654k67c1f5f07336bfb9@mail.gmail.com> <Pine.LNX.4.62.0912032347360.15540@hixie.dreamhostps.com> <4B2C1D52.9020505@webtide.com> <5c902b9e0912181640n497169cdrfa71f9a2908e6ef3@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <5c902b9e0912181640n497169cdrfa71f9a2908e6ef3@mail.gmail.com>
User-Agent: Mutt/1.5.13 (2006-08-11)
Cc: whatwg@whatwg.org, Boris Zbarsky <bzbarsky@mit.edu>, hybi@ietf.org, wfernandom2004@gmail.com
Subject: Re: [hybi] [whatwg] Web sockets and existing HTTP stacks
X-BeenThere: hybi@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Server-Initiated HTTP <hybi.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/hybi>
List-Post: <mailto:hybi@ietf.org>
List-Help: <mailto:hybi-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 19 Dec 2009 00:55:03 -0000

Justin Erenkrantz wrote:
> Let's please not make the mistake of trying to tunnel protocols thru
> HTTP firewalls just because you think it's fun.

Ian has said several times that WebSocket is not intended to tunnel
through HTTP proxies, and that it is intentionally rigid so that it's
likely to fail early when passing through a proxy.

Note that I don't particularly like that goal; I'm just stating what I
think it is.

> You only do so because the semantics are so similar and there's a
> lot of code reuse that can be done (which is the appeal to me of BWTP).

For protocols which don't look like HTTP, you mainly do it because
sometimes TCP port 80 is the only available outgoing port in
firewalled environments.  Ironically, there is often an intercepting
proxy in such environments, so it won't actually work.

Given WebSocket's stated goals (on this list) of:

   - Not working through HTTP proxies, including intercepting proxies.
   - Not being HTTP compatible.
   - Not being correctly parsable by a correct HTTP request parser.

I'm thinking it would be easier to just use port 81 and be done with it.

-- Jamie