Re: [hybi] WebSockets

Peter Keane <> Mon, 30 March 2009 21:57 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id D18563A6846 for <>; Mon, 30 Mar 2009 14:57:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.977
X-Spam-Status: No, score=-1.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id x+XGhk0Skemd for <>; Mon, 30 Mar 2009 14:57:23 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 97D743A6D75 for <>; Mon, 30 Mar 2009 14:57:23 -0700 (PDT)
Received: by with SMTP id 5so3171738ywh.49 for <>; Mon, 30 Mar 2009 14:58:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:date:x-google-sender-auth:message-id:subject:from:to:cc :content-type:content-transfer-encoding; bh=UzMnZOb4Rj5j7U4W4mwzT4JKsXtir09taRzxzGgnNwY=; b=gu8jz406rHBNKUtmkl2CEzG/NJ1t3ic+XJU8e9uBku2T93t88kiyolrid6gX2ozlgB aXZwIs5IYDUABLlaWKOQCITpIYK6ggJpUjOF6OoJ7PzAvbCfGZMPkdJ1rGprsNWf+Vhx kczWFH8Ssag3PhSvLQt49+c+0lDndFB5lGfNs=
DomainKey-Signature: a=rsa-sha1; c=nofws;; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; b=WZuwDB7YIG0IGeg+b94ielCyTd26CjxhfwGVrLx4gqjiOPJSKLdF3emrQWn7GmNggh A1RlHjcRtlgugimp0+PVgoDq0aGx5OVX1CYBtExaSu0xX1sA6sqO3Q66B+c1hs/6oQcd AU9Wj0yDAO5lczE8RqhrBsgn2j7fuhlThwjkg=
MIME-Version: 1.0
Received: by with SMTP id b12mr10950292ybk.198.1238450301828; Mon, 30 Mar 2009 14:58:21 -0700 (PDT)
In-Reply-To: <>
References: <>
Date: Mon, 30 Mar 2009 16:58:21 -0500
X-Google-Sender-Auth: d72ea2a847869218
Message-ID: <>
From: Peter Keane <>
To: Ian Hickson <>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Subject: Re: [hybi] WebSockets
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Server-Initiated HTTP <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 30 Mar 2009 21:57:53 -0000

I am not really sure if this fits in with the goals here or not, but
the functionality I am interested in is a method for doing batch
processes, e.g., uploading a directory full of images to a web server.
 I'd like to be able to have the client register a URL with the
server, at which point the server can perform a get at that URL, which
returns a list of items (essentially a directory listing), and GETs
each one.  I have implemented ths with success using the Firefox Plain
Old Webserver (POW)  plugin. I simply configure POW to have a local
directory as Doc root.   It's then easy to do large uploads (really
reverse GET) for many files very quickly (of course I have an HTTP
client like CURL on the actual server to do the GETs).  I could
imagine a standard mechanism to do this sort of thing very handy.

--peter keane

On Mon, Mar 30, 2009 at 4:34 PM, Ian Hickson <> wrote:
> The goal of the WebSocket work is to provide two-way communication from a
> Web page in a clean way. The requirements that I collected for this effort
> over the past few years are:
>  - The ability for Web pages to send arbitrary text to the server from a
>   script in a Web page, in the form of ordered discrete blocks.
>  - The ability for Web servers to send arbitrary text to a Web page that
>   has established a connection, in the form of ordered discrete blocks.
>  - Text messages should support all of Unicode.
>  - The protocol should support running over ports 80 and 443, ideally
>   with the ability to share the port on the server with an HTTP server.
>  - It must be possible to implement a fully-conforming server-side
>   component for this in a few dozen lines of scripting code, in the case
>   where sharing the connection with an HTTP server isn't required.
>  - The must be extensible so that it can be extended to support binary
>   data and structured data in both directions in the future, without
>   breaking deployments from the first generation.
>  - It must not be possible for the mechanism to be used to successfully
>   connect to existing servers and send them arbitrary commands. In
>   particular, SMTP, HTTP, HTTPS, IMAP, POP, and similar protocols must be
>   safe from this.
>  - It must be possible to connect to arbitrary remote hosts, but
>   connections to these hosts must only be allowed if the remote host
>   explicitly opts in to allowing that Web page to connect (ideally using
>   the 'origin' convention).
> I would be interested in any suggestions people may have along these
> lines. Are there existing protocols that satisfy these requirements? Are
> there requirements I have missed? Are there requirements that people think
> should not be met?
> There is a strawman proposal here:
> Comments welcome.
> --
> Ian Hickson               U+1047E                )\._.,--....,'``.    fL
>       U+263A                /,   _.. \   _\  ;`._ ,.
> Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'
> _______________________________________________
> hybi mailing list