W3C home > Mailing lists > Public > www-tag@w3.org > July 2008

RE: Should the HTTP protocol become "inapropriate"

From: Booth, David (HP Software - Boston) <dbooth@hp.com>
Date: Tue, 29 Jul 2008 14:55:56 +0000
To: "paul@prescod.net" <paul@prescod.net>
CC: Tim Berners-Lee <timbl@w3.org>, Mark Baker <distobj@acm.org>, "Williams, Stuart (HP Labs, Bristol)" <skw@hp.com>, David Orchard <orchard@pacificspirit.com>, "Henry S. Thompson" <ht@inf.ed.ac.uk>, "www-tag@w3.org" <www-tag@w3.org>
Message-ID: <184112FE564ADF4F8F9C3FA01AE50009FCFC7619C6@G1W0486.americas.hpqcorp.net>

> From: Prescod [mailto:prescod@gmail.com]
>
> On Mon, Jul 28, 2008 at 7:39 AM, Booth, David (HP Software - Boston)
> <dbooth@hp.com> wrote:
> >> From: Paul Prescod
> >> [ . . . ]
> >> Is it the position of Tim, Mark and David Orchard that it would be
> >> wrong? Dangerous? to define a mechanism for embedding hints for
> >> alternate resolution protocols inside of HTTP URIs?
> >
> > No, it is not wrong.  It is fine to embed hints of any kind
> in HTTP URIs.  (I realize you didn't ask me, though.)
>
> Can you be more specific about "hints of any kinds?" Do you believe as
> I do that that there must be an orderly mechanism for recognizing and
> processing those hints? e.g. a browser vendor could not declare that
> any URI that embeds the path /netscape/ should be resolved at
> netscape.com rather than on the host specified in the URI.

Correct.  I guess I should have been a little clearer.

There must be a clear chain of authority for interpreting the URI.  The chain of authority starts with the URI (or IRI) spec itself.  Effectively, the URI (or IRI) spec delegates authority to the scheme.  In the case of the HTTP scheme, the HTTP scheme effectively delegates authority to the domain name owner, who in turn may choose to delegate authority for some sub-spaces of its URI space.  So for example, the owner of foo.example could delegate authority to dbooth for all URIs in http://*.dbooth.foo.example/* or all URIs in http://foo.example/dbooth/* .  But Netscape could *not* delegate authority for interpreting all URIs that match http://*/netscape/* because Netscape does not own all of those URIs.

Basically, a URI owner may establish any conventions it wishes for URIs in its own URI space, provided those conventions do not violate the specs in the chain of authority.  For example, an HTTP URI owner could not establish a convention saying that a 404 status code means "document found, here it is" and a 200 status code means "no document found".  But it is fine to (non-destructively) layer additional semantics on top of existing semantics, which is what the XRI folks would be doing if they established a convention like http://*.xri.net/* for XRIs, and those URIs can be used both with the HTTP protocol and with their special XRI protocol.

>
> I believe that the three current proposals are:
>
>  * use the most specific bit of the domain name as a way of
> triggering hinting

That would be fine if the owner of that URI space chooses to establish that convention.

>
>  * use the least specific bits of the domain name

That would also be fine if the owner of that URI space chooses to establish that convention.

>
>  * invent a new convention in paths like /foo:/ which would allow the
> hint to be orthogonal to the HTTP domain

That would *not* be okay to use as anything more than a guess, just as observing a .html at the end of a URI must not be used as anything more than a *guess* of the media type that might be returned.  The MIME type indicated in the HTTP response is authoritative:
http://www.w3.org/2001/tag/doc/mime-respect-20060412
And the URI owner does *not* have the authority to change that.



David Booth, Ph.D.
HP Software
+1 617 629 8881 office  |  dbooth@hp.com
http://www.hp.com/go/software

Statements made herein represent the views of the author and do not necessarily represent the official views of HP unless explicitly so stated.
Received on Tuesday, 29 July 2008 15:06:28 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 22:56:23 UTC