W3C home > Mailing lists > Public > www-rdf-interest@w3.org > April 2002

[OT] HTTP Delegation of representation

From: Uche Ogbuji <uche.ogbuji@fourthought.com>
Date: Sun, 28 Apr 2002 09:57:23 -0600
Message-Id: <200204281557.g3SFvNC21232@localhost.localdomain>
To: Mark Baker <distobj@acm.org>
cc: www-rdf-interest@w3.org
> > But then I'm not sure why you mentioned that people should be using C-L in 
> > cases of shortcutting ".../" URIs to ".../index.html", rather than using 
> > redirection.  Or did I misunderstand you?
> 
> I'm not sure exactly what you mean by "shortcutting".  It could mean one
> of two things;
> 
> 1.  Equivalence
> 
> When I want to communicate an equivalence relationship between two
> resources, I use redirection.
> 
> Here's an example that I used last year.  This URI identifies my
> definition of "brilliance";
> 
> http://www.markbaker.ca/2001/11/Brilliance/
> 
> It is a temporary redirect, which means that I reserve the right to
> change my definition later.  If I used a permanent redirect, I'm telling
> the client that you can forget about my URI and just use the
> dictionary.com one.
> 
> 2.  Delegation of representation
> 
> In this case, a resource chooses to use another resource as its
> representation, at least for that request.
> 
> So there's definitely some similarities, but really, they're two
> different mechanisms for solving different problems.

OK.  I think I'm mostly clear on things now.  Thanks for walking me through 
this.  And sorry to all for continuing this off-topic thread.

It seems that the needs I'm pondering fall under "2.  Delegation of 
representation".

The 4Suite repository and Web server has containers, which are resources that 
are represented as simple XML documents that use XLinks to point to container 
children.  Therefore the true representation of a 4Suite container, which is 
currently what you get if you do an HTTP request on the default HTTP listener 
is something like:

<?xml version='1.0' encoding='UTF-8'?><ftss:Container 
xmlns:ftss='http://xmlns.4suite.org/reserved' xmlns:xlink='http://www.w3.org/19
99/xlink'>
  <ftss:Children>
    <ftss:ChildReference xlink:show='embed' xlink:actuate='onLoad' 
xlink:type='simple' xlink:href='uche.ogbuji.net;metadata'/>
  
    <ftss:ChildReference xlink:show='embed' xlink:actuate='onLoad' 
xlink:type='simple' xlink:href='images;metadata'/>
  
    <ftss:ChildReference xlink:show='embed' xlink:actuate='onLoad' 
xlink:type='simple' xlink:href='tech;metadata'/>
  
    <ftss:ChildReference xlink:show='embed' xlink:actuate='onLoad' 
xlink:type='simple' xlink:href='xhtml.docdef;metadata'/>
  
    <ftss:ChildReference xlink:show='embed' xlink:actuate='onLoad' 
xlink:type='simple' xlink:href='main.doc;metadata'/>
  
    <ftss:ChildReference xlink:show='embed' xlink:actuate='onLoad' 
xlink:type='simple' xlink:href='main.css;metadata'/>
  
    <ftss:ChildReference xlink:show='embed' xlink:actuate='onLoad' 
xlink:type='simple' xlink:href='publications.rdf;metadata'/>
  
    <ftss:ChildReference xlink:show='embed' xlink:actuate='onLoad' 
xlink:type='simple' xlink:href='presentations.rdf;metadata'/>
  
    <ftss:ChildReference xlink:show='embed' xlink:actuate='onLoad' 
xlink:type='simple' xlink:href='server-properties.xml;metadata'/>
  
    <ftss:ChildReference xlink:show='embed' xlink:actuate='onLoad' 
xlink:href='main.xslt;metadata' xlink:type='simple'/>
  </ftss:Children>
</ftss:Container>


This is the actual document resource represented by the 4Suite-hosted URL

a) http://uche.ogbuji.net:8080/uche.ogbuji.net/

The problem is that I don't want people to get this when they surf to that 
resource.  I want them to get my friendly HTML home page (for some definition 
of friendly :-) ).  In particular, I want them to get the same thing as they 
would if they requested

b) http://uche.ogbuji.net:8080/uche.ogbuji.net/main.doc?xslt=docbook.xslt

Currently, 4Suite implements this as a temporary redirect.  But you tied this 
usage to equivalence, which is not my intent here.  I certainly don't think 
the container resource, which is the XML document shown above, is equivalent 
to the dynamically generated HTML generated from the main.doc resource in that 
container and the main.xslt stylesheet in that container.

Rather, what I want is to delegate the representation of the container to this 
dynamic document, therefore your bullet item #2.  But you were pretty terse in 
your presentation of that bullet item  :-)

What I've been trying to get at is that if redirection is not the way to do 
this, what is?  And can I count on the proper support for whetever it is in 
user agents (we can fix/implement whatever is needed in the server ourselves).

Beliewve me, I am *very* happy to get away from redirection for doing this, 
especially as redirection support between Mozilla, MSIE, Netscape and Opera is 
not consistent.  Opera seems to have a serious bug with even basic temporary 
redirects, and MSIE seems to have a weird bug with double redurects (i.e. if 
you go to http://uche.ogbuji.net you are 302 redirected to URL (a) above, and 
then 302 redirected to URL (b) above, which seems to cause MSIE to corrupt its 
base URLs).

A sample wget session:

[uogbuji@borgia uogbuji]$ wget http://uche.ogbuji.net
--09:51:37--  http://uche.ogbuji.net/
           => `index.html'
Connecting to uche.ogbuji.net:80... connected!
HTTP request sent, awaiting response... 302 Found
Location: http://uche.ogbuji.net:8080/uche.ogbuji.net/ [following]
--09:51:37--  http://uche.ogbuji.net:8080/uche.ogbuji.net/
           => `index.html'
Connecting to uche.ogbuji.net:8080... connected!
HTTP request sent, awaiting response... 302 Found
Location: http://uche.ogbuji.net:8080/uche.ogbuji.net/main.doc?xslt=main.xslt 
[following]
--09:51:37--  http://uche.ogbuji.net:8080/uche.ogbuji.net/main.doc?xslt=main.xs
lt
           => `main.doc?xslt=main.xslt'
Connecting to uche.ogbuji.net:8080... connected!
HTTP request sent, awaiting response... 200 OK
Length: 6,994 [text/html]

    0K ......                                                100% @   9.46 KB/s

09:51:39 (9.45 KB/s) - `main.doc?xslt=main.xslt' saved [6994/6994]


-- 
Uche Ogbuji                           Fourthought, Inc.
uche.ogbuji@fourthought.com           http://fourthought.com
http://4Suite.org                     http://uche.ogbuji.net
Track chair, XML/Web Services One (San Jose, Boston): 
http://www.xmlconference.com/
RDF Query using Versa - http://www-106.ibm.com/developerworks/xml/library/x-thi
nk10/index.html
WSDL and the Wild, Wild West - http://adtmag.com/article.asp?id=6004
XML, The Model Driven Architecture, and RDF @ XML Europe - 
http://www.xmleurope.com/2002/kttrack.asp#themodel
Received on Sunday, 28 April 2002 12:03:47 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:51:53 GMT