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

David Booth <david@dbooth.org> Wed, 12 August 2009 03:20 UTC

Return-Path: <david@dbooth.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 8EFB23A699C for <hybi@core3.amsl.com>; Tue, 11 Aug 2009 20:20:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.599
X-Spam-Level:
X-Spam-Status: No, score=-3.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1]
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 MX2FUB3GEsF9 for <hybi@core3.amsl.com>; Tue, 11 Aug 2009 20:20:19 -0700 (PDT)
Received: from relay00.pair.com (relay00.pair.com [209.68.5.9]) by core3.amsl.com (Postfix) with SMTP id 880FC3A6980 for <hybi@ietf.org>; Tue, 11 Aug 2009 20:20:19 -0700 (PDT)
Received: (qmail 14601 invoked from network); 12 Aug 2009 02:52:26 -0000
Received: from 12.54.40.220 (HELO ?12.54.40.220?) (12.54.40.220) by relay00.pair.com with SMTP; 12 Aug 2009 02:52:26 -0000
X-pair-Authenticated: 12.54.40.220
From: David Booth <david@dbooth.org>
To: Maciej Stachowiak <mjs@apple.com>
In-Reply-To: <4E34F2AF-C737-4A7D-AD9F-07AD177313BA@apple.com>
References: <Pine.LNX.4.62.0908070531430.28566@hixie.dreamhostps.com> <1249651007.25446.8934.camel@dbooth-laptop> <4A7CD53D.13936.1264B606@dan.tobias.name> <1249869122.20315.388.camel@dbooth-laptop> <4E34F2AF-C737-4A7D-AD9F-07AD177313BA@apple.com>
Content-Type: text/plain
Date: Tue, 11 Aug 2009 22:52:26 -0400
Message-Id: <1250045546.3990.1906.camel@dbooth-laptop>
Mime-Version: 1.0
X-Mailer: Evolution 2.26.1
Content-Transfer-Encoding: 7bit
X-Mailman-Approved-At: Fri, 14 Aug 2009 16:46:18 -0700
Cc: "Daniel R. Tobias" <dan@tobias.name>, uri-review@ietf.org, hybi@ietf.org, 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: Wed, 12 Aug 2009 03:20:20 -0000

On Tue, 2009-08-11 at 17:23 -0700, Maciej Stachowiak wrote:
> On Aug 9, 2009, at 6:52 PM, David Booth wrote:
> 
> > On Fri, 2009-08-07 at 21:30 -0400, Daniel R. Tobias wrote:
> >> On 7 Aug 2009 at 9:16, David Booth wrote:
> >>
> >>> Note that I am talking about the *scheme*, not the protocol.  In
> >>> essence, a URI prefix such as "http://wss.example/" can be defined  
> >>> that
> >>> would serve the same purpose as a "wss:" scheme: an agent that
> >>> recognizes this prefix will know to attempt the WSS protocol.
> >>
> >> It seems like a bad idea to me, to have to build special exceptions
> >> to how a user agent processes URIs, where the protocol specified in
> >> the URI isn't actually the one that is used, based on "magic strings"
> >> within other parts than the scheme.
> >
> > I can't see that as a significant issue, as there is only a trivial
> > difference between dispatching based on the string prefix
> > "http://wss.example/" and the string prefix "wss:".  Both are simple,
> > constant strings and both are equally "magic": they cause agent to
> > attempt the WSS protocol.
> 
> The difference is that "http://wss.example/" already has a meaning,  
> which is not the intended one. Whereas "wss:" currently has no  
> meaning. Thus the former has greater risk of either colliding with an  
> existing resource, or being misinterpreted by a legacy client (instead  
> of just rejected).

That's not a risk, that's the *intent*.  The point is that a prefix like
"http://wss.example/" gives agents that do not know the WSS protocol the
possibility of doing something useful with the URI, by falling back to
the HTTP protocol, whereas if a prefix like "wss:" were used those same
agents would have to reject it entirely.  The "http://wss.example/" URI
still retains its meaning as an http URI, but it gains *additional*
meaning as a WSS URI for those agents that know how to handle the WSS
protocol. 


-- 
David Booth, Ph.D.
Cleveland Clinic (contractor)

Opinions expressed herein are those of the author and do not necessarily
reflect those of Cleveland Clinic.