Re: [hybi] WebSockets

"Edward Z. Yang" <ezyang@MIT.EDU> Mon, 30 March 2009 23:05 UTC

Return-Path: <ezyang@MIT.EDU>
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 20E5E3A6A9E for <hybi@core3.amsl.com>; Mon, 30 Mar 2009 16:05:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.511
X-Spam-Level:
X-Spam-Status: No, score=-6.511 tagged_above=-999 required=5 tests=[AWL=0.088, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
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 a43wHo6XODJ1 for <hybi@core3.amsl.com>; Mon, 30 Mar 2009 16:05:37 -0700 (PDT)
Received: from biscayne-one-station.mit.edu (BISCAYNE-ONE-STATION.MIT.EDU [18.7.7.80]) by core3.amsl.com (Postfix) with ESMTP id 348B23A6A75 for <hybi@ietf.org>; Mon, 30 Mar 2009 16:05:37 -0700 (PDT)
Received: from outgoing.mit.edu (OUTGOING-AUTH.MIT.EDU [18.7.22.103]) by biscayne-one-station.mit.edu (8.13.6/8.9.2) with ESMTP id n2UN6VQP012024; Mon, 30 Mar 2009 19:06:32 -0400 (EDT)
Received: from localhost (dhcp-18-111-6-162.dyn.mit.edu [18.111.6.162]) (authenticated bits=0) (User authenticated as ezyang@ATHENA.MIT.EDU) by outgoing.mit.edu (8.13.6/8.12.4) with ESMTP id n2UN6Uee026043; Mon, 30 Mar 2009 19:06:30 -0400 (EDT)
Date: Mon, 30 Mar 2009 19:06:30 -0400
From: "Edward Z. Yang" <ezyang@MIT.EDU>
X-X-Sender: ezyang@javelin
To: Ian Hickson <ian@hixie.ch>
In-Reply-To: <Pine.LNX.4.62.0903302124580.25058@hixie.dreamhostps.com>
Message-ID: <alpine.DEB.2.00.0903301844490.6227@javelin>
References: <Pine.LNX.4.62.0903302124580.25058@hixie.dreamhostps.com>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset="US-ASCII"; format="flowed"
X-Scanned-By: MIMEDefang 2.42
Cc: hybi@ietf.org
Subject: Re: [hybi] WebSockets
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: Mon, 30 Mar 2009 23:05:38 -0000

Hello,

> - 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.

I believe that modern browsers specifically block requests to ports that
are not normally used in web browsing on an ad hoc basis.  Given
WebSocket's handshake, I think this problem is equivalent to HTTP.

> 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?

Plugins such as Flash and Java already allow sockets to programmers on a
limited basis.  Looking forwards, these languages will need client
libraries that implement the WebSocket protocol.  JavaScript will also
need an API designed for it.

Cheers,
Edward