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

Jamie Lokier <jamie@shareable.org> Fri, 20 November 2009 16:04 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 405A43A694E for <hybi@core3.amsl.com>; Fri, 20 Nov 2009 08:04:30 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.139
X-Spam-Level:
X-Spam-Status: No, score=-4.139 tagged_above=-999 required=5 tests=[AWL=-1.540, 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 W7HfaCw4B6NE for <hybi@core3.amsl.com>; Fri, 20 Nov 2009 08:04:29 -0800 (PST)
Received: from mail2.shareable.org (mail2.shareable.org [80.68.89.115]) by core3.amsl.com (Postfix) with ESMTP id 506353A693B for <hybi@ietf.org>; Fri, 20 Nov 2009 08:04:29 -0800 (PST)
Received: from jamie by mail2.shareable.org with local (Exim 4.63) (envelope-from <jamie@shareable.org>) id 1NBVyB-0006Zk-3s; Fri, 20 Nov 2009 16:04:23 +0000
Date: Fri, 20 Nov 2009 16:04:23 +0000
From: Jamie Lokier <jamie@shareable.org>
To: Christian Biesinger <cbiesinger@gmail.com>
Message-ID: <20091120160423.GC20634@shareable.org>
References: <557ae280911171402v7546e5e7n93a1e57f87dc10e5@mail.gmail.com> <557ae280911200708l358293eeif999d8c1b8f6f5d8@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <557ae280911200708l358293eeif999d8c1b8f6f5d8@mail.gmail.com>
User-Agent: Mutt/1.5.13 (2006-08-11)
Cc: Boris Zbarsky <bzbarsky@mit.edu>, hybi@ietf.org
Subject: Re: [hybi] Fwd: 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: Fri, 20 Nov 2009 16:04:30 -0000

Christian Biesinger wrote:
> [resent from whatwg@whatwg.org, with slight additions here]
> 
> Hi,
> 
> so I was reading the web sockets spec as well as a Firefox patch to
> implement it.
> 
> Is it intentional that it is impossible to implement this spec over an
> existing HTTP stack, as currently specified? In particular, due to the
> strict requirements on the headers to send, it seems like you can't
> really implement it with an existing HTTP stack.
> On the other hand, you really do want to reuse your HTTP
> implementation, because otherwise you have to reimplement all your
> HTTP proxy authentication, including NTLM, GSSAPI, etc. Obviously
> another problem would be that the actual bidirectional communication
> might be hard to fit into your HTTP implementation, but that might
> be easier to work around.

This has been the cause of quite some discussion on this list.

The main spec editor believes WebSocket should intentionally fail when
encountering a proxy etc. and the web application should fall back to
some other method in that case, or simply not support those cases.

Needless to say, several people take the opposite view, that it should
work over general HTTP infrastructure, but as that would make the
protocol more complicated and simplicity is also a goal, there is no
consensus.

Originally WebSocket was just a wrapper around raw TCP sockets, like
you have in Flash and Java, which is where it gets this from.

-- Jamie