Re: [hybi] Multiplexing in WebSocket (Was: HyBi Design Space)

Ian Hickson <ian@hixie.ch> Wed, 14 October 2009 00:28 UTC

Return-Path: <ian@hixie.ch>
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 CBED73A693B for <hybi@core3.amsl.com>; Tue, 13 Oct 2009 17:28:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.485
X-Spam-Level:
X-Spam-Status: No, score=-2.485 tagged_above=-999 required=5 tests=[AWL=0.114, 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 99TAmogDct4w for <hybi@core3.amsl.com>; Tue, 13 Oct 2009 17:28:45 -0700 (PDT)
Received: from looneymail-a3.g.dreamhost.com (caibbdcaaaaf.dreamhost.com [208.113.200.5]) by core3.amsl.com (Postfix) with ESMTP id E598A3A68C4 for <hybi@ietf.org>; Tue, 13 Oct 2009 17:28:45 -0700 (PDT)
Received: from hixie.dreamhostps.com (hixie.dreamhost.com [208.113.210.27]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by looneymail-a3.g.dreamhost.com (Postfix) with ESMTP id F37EA27B2E; Tue, 13 Oct 2009 17:28:47 -0700 (PDT)
Date: Wed, 14 Oct 2009 00:40:11 +0000
From: Ian Hickson <ian@hixie.ch>
To: Greg Wilkins <gregw@webtide.com>
In-Reply-To: <4AD510D7.3050405@webtide.com>
Message-ID: <Pine.LNX.4.62.0910140030320.6803@hixie.dreamhostps.com>
References: <4ACE50A2.5070404@ericsson.com> <3a880e2c0910081600v3607665dp193f6df499706810@mail.gmail.com> <4ACF4055.6080302@ericsson.com> <Pine.LNX.4.62.0910092116010.21884@hixie.dreamhostps.com> <3a880e2c0910100853s6650d216mc53e8f70a192a896@mail.gmail.com> <Pine.LNX.4.62.0910132333430.25383@hixie.dreamhostps.com> <4AD510D7.3050405@webtide.com>
Content-Language: en-GB-hixie
Content-Style-Type: text/css
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset="US-ASCII"
Cc: "hybi@ietf.org" <hybi@ietf.org>
Subject: Re: [hybi] Multiplexing in WebSocket (Was: HyBi Design Space)
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: Wed, 14 Oct 2009 00:28:46 -0000

On Wed, 14 Oct 2009, Greg Wilkins wrote:
> 
> you often cite "protocols layered on top of Web Socket" as a panacea.
> 
> While layered protocols are theoretically possible (and even desirable), 
> I do not see that websocket is being setup in a way to make this 
> practically possible.
>
> So can you describe how you foresee such protocols being layered on top?

I don't really see any way to use WebSockets _except_ by layering a 
protocol on top of it.

Now for many people such protocols would be trivial, e.g. just a "you have 
new mail" notification, but that's still a protocol. For some, e.g. a chat 
program, one could imagine a huge protocol on the order of complexity of 
Jabber -- in fact, it could be Jabber itself, ported to Web Sockets.


> If you think this can be done in javascript libraries, then how do you 
> see multiple frames, tabs and windows being handled in a secure way?

Using Shared Workers, if that is really desired. Frankly though I don't 
think that multiple frames, tabs and windows are likely to all be 
connecting to the same Web Socket service on the same host, at least not 
enough to justify worrying about multiplexing, so it's not high on my list 
of concerns.


> If your vision of the server side occurs - where developers write 
> websocket implementations themselves (like CGI scripts), then are they 
> going to have to all write these layered protocols as well?

How else can you use Web Sockets?

-- 
Ian Hickson               U+1047E                )\._.,--....,'``.    fL
http://ln.hixie.ch/       U+263A                /,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'