RE: Option 1 - HTTP 303 Re: Towards a TAG consideration of CURIEs

> From: Richard Cyganiak
> . . .
> I'll try to summarize a bit. If you want to serve appropriate 
> content  
> to both humans and machines, you have these options (ignoring hash  
> URIs for the moment):
> 
> 1. use content negotiation and 303-redirect from the domain object's  
> URI to HTML or RDF documents basend on the Accept header

Actually I think there's another option also: to defer the content
negotiation to the redirected URL.  For example if we have the following
four URIs:

	ud		- URI for a domain object
	ur		- general URI for information about ud
	urRDF		- URI for RDF information about ud
	urHTML	- URI for HTML information about ud

Then attempting to dereference ud would result in:

	1. ud does a 303-redirect to ur.
	2. ur uses content negotiation to return either:
		- RDF (from urRDF); or
		- HTML (from urHTML).

The architectural benefit of this is that it does the content
negotiation where it logically makes sense: at the point when a
representation will be served.  This also allows the ur to be referenced
separately, without going through ud.  For example, some applications
may only care about cataloging the information that is available, rather
than the domain object.

This approach also permits a 303-redirect service to be used, 
such as thing-described-by.org , so that: (a) someone minting a domain
object URI does not need to configure their server for 303-redirects;
and (b) the 303-redirection can be optimized away by syntactically
recognizing the 303-redirect service's URI prefix if desired.


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

Received on Tuesday, 10 April 2007 16:10:48 UTC