Re: ISSUE-57: The use of HTTP Redirection

David,

Thanks for the response. I agree with most of it. But let me expand a  
little bit on the social process of URI allocation and assignment of  
representations.

On 30 Aug 2007, at 07:33, Booth, David (HP Software - Boston) wrote:
>> 1. *MUST* the owner of each <xi> configure it to answer
>> requests with  a 200 and a representation?
>
> No.
>
>>
>> 2. Or *MAY* they answer requests to <xi> also with 404 or 303?
>
> Yes.

OK. So, IR is not simply a synonym for “a resource that has  
representations”.

>> 3. Assuming there is reason to believe that other people have minted
>> <x1> and <x2> already, and serve representations there: Does WebArch
>> in any way constrain what the owner of <x3> can serve as a
>> representation of X at <x3>?
>
> No.  This answer may seem odd, since you stipulated that <x1>, <x2>  
> and
> <x3> identify the *same* resource.  But since the Request-URI is a  
> part
> of the HTTP GET request, the exact same resource could return  
> responses
> that vary depending on the Request-URI.

OK, I can accept that.

>> 4. What if the owner of <x3> is legally prohibited from serving
>> representations of X, e.g. by copyright law? Can they still mint
>> their own URI for X? How would they configure it?
>
> I don't understand this question.

I assumed that the answer to my first question might be “yes”, and in  
that case this question here would be more interesting.

> Yes, they can still mint their own
> URI for X, but presumably they would still be prohibited from serving
> representations.  Minting a URI does not necessarily mean that any
> server is configured.  It just means that the URI owner has associated
> that URI with a resource, and "associated" does not mean that the
> resource is necessarily accessible, even if it is an information
> resource.

Yes, understood. If the owner of <x3> is not allowed to serve a  
representation of X, then they could 303-redirect to a description of X.

>> 5. Assuming X is "Tim's homepage", is there a process (technical or
>> social) that allows me to determine if <x1> does identify X,
>> assuming
>> that <x1> 200-responds with a certain representation "abc"?
>
> Not a guaranteed process.  The WebArch gives the URI owner the  
> right to
> associate a URI with a resource.  Therefore, if the URI owner declares
> that <x1> identifies X, then that declaration is prima facie evidence
> that the URI does identify X (as a performative speech act), so under
> normal circumstances, one should assume that it does.

This doesn't feel quite right to me. If X is “Tim's homepage”, and I  
(not Tim!) mint a URI <x4> for X, and 200-serve some random cat photo  
there, then I expect that people would say: “Wait a minute, that  
doesn't look like Tim's homepage. You declare that your <x4>  
identifies Tim's homepage, but that's obviously rubbish.”

So, while there might be no technical process, I'd think that there  
is a social process: Walk up to Tim, ask him: “Is that a  
representation of your homepage?”, and if he says “No”, then <x4>  
does identify *something*, but not Tim's homepage.

I'd expect that Tim, as the owner of his homepage, would have some  
say in the question if "abc" is a representation of his homepage.

Or am I reading way too much into things here?

>> 6. Assuming X is "Tim's homepage", is there a process (technical or
>> social) that allows me to determine if <x2> does identify X,
>> assuming  that <x2> 404-responds?
>
> Same answer as for #5.  A 404 gives no information.

Here I agree with you. In the absence of any representation, there is  
no grounds on which Tim or anyone else could deny the claim that <x2>  
identifies “Tim's homepage”. Thus, if the owner of <x2> says so, it  
is so.

>> 7. Assuming X is "Tim's homepage", is there a process (technical or
>> social) that allows me to determine if <x3> does identify X,
>> assuming that <x3> 303-redirects to <y3>?
>
> Same answer as for #5.  A 303 is merely a hint of where to look.  You
> might find a URI declaration there, but you might not.

Here I don't know at all. Again, there is no representation of X. But  
there is a description of X. So what if Tim disagrees with the  
description of his homepage in <y3>? I think this shouldn't stop <x3>  
from identifying his homepage. After all, we want to allow for  
different and conflicting descriptions of the same thing.

Coming back to my original problem, that of what to advice when  
people have to choose between 200-serving a representation of some  
resource X, or better 303-serving a description:

I think a good rule is: Only the owner of X (the resource X, not a  
URI <x>) gets to decide what is or isn't a representation of X. Since  
Tim owns Tim's homepage, I definitely shouldn't 200-serve a cat photo  
and claim that the URI identifies Tim's homepage. I am allowed,  
however, to mint a URI for his homepage and set it up to 303 to  
anything I want (or leave it at 404).

What if there is no owner? Who gets to decide what can be 200-served  
for a URI identifying the moon? Well, no one. That's why you have to  
303-configure a URI identifying the moon.

I think that this rule of thumb provides pretty good guidance, and,  
unlike this totally subjective business about “essential  
characteristics conveyable in a message”, ownership is a legally  
established concept.

And it would certainly be nice if I could tell people: “Sorry, you  
don't own The Beatles, so you have to fix your URIs and use a 303 URI  
or a hash URI to identify them.” At the moment, I have to hope that  
they buy my yapping about ambiguity of reference and how you can't  
convey the essential characteristics of the Beatles in a message and  
how the Beatles are not an information resources.

Opinions?

Richard



>
>
>
> David Booth, Ph.D.
> HP Software
> +1 617 629 8881 office  |  dbooth@hp.com
> http://www.hp.com/go/software
>
> Opinions expressed herein are those of the author and do not represent
> the official views of HP unless explicitly stated otherwise.
>
>

Received on Thursday, 30 August 2007 20:36:14 UTC