Re: [hybi] [Uri-review] ws: and wss: schemes

noah_mendelsohn@us.ibm.com Mon, 24 August 2009 20:17 UTC

Return-Path: <noah_mendelsohn@us.ibm.com>
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 42C913A680F for <hybi@core3.amsl.com>; Mon, 24 Aug 2009 13:17:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.936
X-Spam-Level:
X-Spam-Status: No, score=-5.936 tagged_above=-999 required=5 tests=[AWL=0.663, 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 6kmVZEj68XDT for <hybi@core3.amsl.com>; Mon, 24 Aug 2009 13:17:08 -0700 (PDT)
Received: from e4.ny.us.ibm.com (e4.ny.us.ibm.com [32.97.182.144]) by core3.amsl.com (Postfix) with ESMTP id 2C8A23A6EAD for <hybi@ietf.org>; Mon, 24 Aug 2009 13:17:08 -0700 (PDT)
Received: from d01relay04.pok.ibm.com (d01relay04.pok.ibm.com [9.56.227.236]) by e4.ny.us.ibm.com (8.14.3/8.13.1) with ESMTP id n7OKAlJL026437 for <hybi@ietf.org>; Mon, 24 Aug 2009 16:10:47 -0400
Received: from d01av01.pok.ibm.com (d01av01.pok.ibm.com [9.56.224.215]) by d01relay04.pok.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id n7OKHD74248972 for <hybi@ietf.org>; Mon, 24 Aug 2009 16:17:13 -0400
Received: from d01av01.pok.ibm.com (loopback [127.0.0.1]) by d01av01.pok.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id n7OKHDPd000475 for <hybi@ietf.org>; Mon, 24 Aug 2009 16:17:13 -0400
Received: from internet1.lotus.com (internet1.lotus.com [9.32.140.212]) by d01av01.pok.ibm.com (8.12.11.20060308/8.12.11) with ESMTP id n7OKHC5x000422 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Mon, 24 Aug 2009 16:17:13 -0400
Received: from wtfmail05.lotus.com (WTFMAIL05.lotus.com [9.32.140.23]) by internet1.lotus.com (8.14.2/8.14.1) with ESMTP id n7OKHCOS2502740; Mon, 24 Aug 2009 15:17:12 -0500
In-Reply-To: <20090820190157.GB6066@shareable.org>
To: Jamie Lokier <jamie@shareable.org>
MIME-Version: 1.0
X-Mailer: Lotus Notes Release 7.0.1 January 17, 2006
Message-ID: <OFB5CA31CC.68686941-ON8525761C.006F38B8-8525761C.006F549F@lotus.com>
From: noah_mendelsohn@us.ibm.com
Date: Mon, 24 Aug 2009 16:19:35 -0400
X-MIMETrack: Serialize by Router on WTFMAIL05/WTF/M/Lotus(Build V851_08132009|August 13, 2009) at 08/24/2009 04:19:35 PM, Serialize complete at 08/24/2009 04:19:35 PM
Content-Type: text/plain; charset="US-ASCII"
Cc: hybi@ietf.org, URI <uri@w3.org>
Subject: Re: [hybi] [Uri-review] ws: and wss: schemes
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, 24 Aug 2009 20:17:09 -0000

Jamie Lokier writes:

> noah_mendelsohn@us.ibm.com wrote:
>  If the server (I.e. the same software that would have 
> > processed the Web socket upgrade) chooses to, it can respond with 
metadata 
> > explaining that this is a Websocket resource, perhaps providing 
> > information about its purpose and correct use, etc.  The means for 
> > returning that metadata might be along the lines of [1].  That 
> > discoverability seems to have some value. 

> Hey, I like that idea.  Wish I'd thought of it :-)

I can't honestly tell if you're agreeing with me or gently pulling my leg. 
 If the former, then this is a reason to use an http-scheme URI.  Thanks.

Noah

--------------------------------------
Noah Mendelsohn 
IBM Corporation
One Rogers Street
Cambridge, MA 02142
1-617-693-4036
--------------------------------------








Jamie Lokier <jamie@shareable.org>
08/20/2009 03:01 PM
 
        To:     noah_mendelsohn@us.ibm.com
        cc:     Ian Hickson <ian@hixie.ch>, hybi@ietf.org, Mark Nottingham 
<mnot@mnot.net>, URI <uri@w3.org>
        Subject:        Re: [hybi] [Uri-review] ws: and wss: schemes


noah_mendelsohn@us.ibm.com wrote:
 If the server (I.e. the same software that would have 
> processed the Web socket upgrade) chooses to, it can respond with 
metadata 
> explaining that this is a Websocket resource, perhaps providing 
> information about its purpose and correct use, etc.  The means for 
> returning that metadata might be along the lines of [1].  That 
> discoverability seems to have some value. 

Hey, I like that idea.  Wish I'd thought of it :-)

For round-trip reduction I favour being able to try an upgrade
request, with your own optional headers, and have the server reject it
if it doesn't see what it wants, perhaps referrring to the information
you've described.  It also leaves the door for servers to respond with
different protocols depending on the request - in the same way as SSH1
and SSH2 are negotiated, for example, without needing extra round-trips.

That looks a *lot* like HTTP negotiation, and people are very
familiar with that.  Servers have good support for it too.

> Web socket endpoints are not documents (or "Information Resources"
> [2] in the language of AWWW), suggesting that new schemes are indeed
> appropriate;

I agree.

A comet server on http://cometd.org.example/cometd.cgi?protocol=bayeux
(example may not be realistic) is not a document in any useful sense
either.  Where are we going with this?  Should that become a legacy
hack?  Should we have a different scheme for all
"protocol-over-HTTP-misused-as-a-transport"?

> 2) (happy accident) 

> I suspect the choice of an HTTP-compatible handshake was made to get
> through firewalls,

I suspect it was so that it could connect to random servers and get a
useful error message if they don't support WebSockets (that has been
explained on the hybi list), and to connect to servers which are
handling HTTP on the same port.

For getting through firewalls - including ISPs who don't firewall but
are running intercepting proxies on port 80 - I think it's basically
going to fail at that because it doesn't consider proxy issues at all
- and because UPGRADE has never been deployed (as far as I know).  But
to be honest I don't know if it'll fail as much as I think in the real
world without measurements from a wide range of internet locations.
I'm not the only person who thinks so, though.

-- Jamie