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

John Kemp <john@jkemp.net> Wed, 19 August 2009 17:57 UTC

Return-Path: <john@jkemp.net>
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 B1E2C28C136 for <hybi@core3.amsl.com>; Wed, 19 Aug 2009 10:57:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.265
X-Spam-Level:
X-Spam-Status: No, score=-2.265 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, IP_NOT_FRIENDLY=0.334]
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 zBFgNTk7DhYM for <hybi@core3.amsl.com>; Wed, 19 Aug 2009 10:57:36 -0700 (PDT)
Received: from outbound-mail-14.bluehost.com (outbound-mail-14.bluehost.com [69.89.18.114]) by core3.amsl.com (Postfix) with SMTP id 8A16D28C117 for <hybi@ietf.org>; Wed, 19 Aug 2009 10:57:36 -0700 (PDT)
Received: (qmail 29214 invoked by uid 0); 19 Aug 2009 17:51:02 -0000
Received: from unknown (HELO box320.bluehost.com) (69.89.31.120) by outboundproxy1.bluehost.com with SMTP; 19 Aug 2009 17:51:02 -0000
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=jkemp.net; h=Received:Message-ID:Date:From:User-Agent:MIME-Version:To:CC:Subject:References:In-Reply-To:Content-Type:Content-Transfer-Encoding:X-Identified-User; b=bwxZDs1+EGww5bP7JW1Te6U19GtIAESWD6U4AFVQje/PhmuBYMgI8mkmIa8RzZG/58YAwqBEdHvR84BDwDaImAiDRCDZkKDWxfBZYfLk4bmmlx4BX6ldUs/MEX6pBhxw;
Received: from cpe-69-205-56-47.nycap.res.rr.com ([69.205.56.47] helo=[192.168.1.104]) by box320.bluehost.com with esmtpa (Exim 4.69) (envelope-from <john@jkemp.net>) id 1MdpJO-0002xs-1q; Wed, 19 Aug 2009 11:51:02 -0600
Message-ID: <4A8C3B7C.5040501@jkemp.net>
Date: Wed, 19 Aug 2009 13:50:52 -0400
From: John Kemp <john@jkemp.net>
User-Agent: Thunderbird 2.0.0.22 (Windows/20090605)
MIME-Version: 1.0
To: Jamie Lokier <jamie@shareable.org>
References: <20090814213754.GD12021@shareable.org> <OF3B15D497.B76ABF1A-ON85257617.0058A11E-85257617.0059BD1A@lotus.com> <20090819164618.GA991@shareable.org>
In-Reply-To: <20090819164618.GA991@shareable.org>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Identified-User: {1122:box320.bluehost.com:jkempnet:jkemp.net} {sentby:smtp auth 69.205.56.47 authed with john+jkemp.net}
Cc: hybi@ietf.org, uri-request@w3.org, Kristof Zelechovski <giecrilj@stegny.2a.pl>, uri@w3.org, uri-review@ietf.org, noah_mendelsohn@us.ibm.com, 'David Booth' <david@dbooth.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, 19 Aug 2009 17:57:36 -0000

Jamie Lokier wrote:
> noah_mendelsohn@us.ibm.com wrote:
>> Jamie Lokier writes:

...

>  Given a URI, you
> cannot tell from Content-Type whether that URI supports WebDAV,

However, the WebDAV specification does specifically offer some level of 
compatibility with existing non-WebDAV-aware clients - 
http://tools.ietf.org/html/rfc4918#appendix-B

Without a WebDAV-aware client, I can still perform some non-WebDAV HTTP 
requests.

With a WebDAV-aware client, I can perform WebDAV HTTP requests which the 
server may or may not support, but the server can tell me, according to 
HTTP specification that a "method is not supported".

> and
> you cannot tell whether that URI accepts POSTs to submit new blog
> entries - just to pick two widely used examples.

A client able to submit a POST can try, but might fail.

> 
> That requires another level of descriptive metadata, which
> Content-Type does not provide and is not always available in any other
> form.  But, just like people can enter a "blog posting" URI into their
> mobile phone, there will be reasons why people enter WebSockets URIs
> into applications, with no way for the application to verify the
> protocol except by trying it.

The question is perhaps really about whether you want to provide _some_ 
compatibility with existing non-websock-aware clients.

> 
>> So, this is a desirable characteristic for Web resources, and it's
>> one of the things that HTTP gives you.  Indeed, the whole Web is
>> designed so that you can start with RFC 3986, the specification for
>> URIs, and using the references to which it (recursively) delegates,
>> discover how to correctly interact with and interpret responses from
>> any resource on the Web.  Under the auspices of the W3C TAG, I
>> prepared a "finding" [1] that goes into more detail on these issues
>> and their implications.
> 
> In other words, I disagree with the above.  You can't find which
> particular protocols are overlaid on top of HTTP at every findable URI
> by the existing mechanisms, and it's unlikely that will ever be
> possible.

It is possible for those designing Web protocols to consider 
compatibility with existing Web client software, and to provide ways of 
allowing new and existing clients to determine the capabilities of 
HTTP-identified resources. The TAG finding that Noah mentions describes 
ways in which (some) others have allowed for clients to "follow their 
noses" and discover how to operate with servers regarding particular 
resources. There are other ways to do it, but the point is that it 
depends on protocol designers making the decision to offer such 
facilities. Using HTTP URIs to identify resources is a good way to begin 
that process.

Regards,

- johnk

[1] http://www.w3.org/2001/tag/doc/selfDescribingDocuments.html