Re: HTTP URIs and authority

noah_mendelsohn@us.ibm.com wrote:
> Pat Hayes writes:
>
>   
>>> [Noah Mendelsohn wrote]:
>>>  If I say that it's for the poem, and in a year or so someone
>>> comes up with a font I like better, I see no problem with my changing 
>>>       
> the
>   
>>> page to use that.
>>>       
>> Neither do I: but that doesn't mean that the URI denotes anything 
>> font-less, like the 'real' poem. It just means that your resource 
>> here has a changing font.
>>     
>
> Let's make the example more complicated.  I mint the URI and claim, at 
> least insofar as you're willing to allow me too :-), that it represents 
> the poem itself, not a particular presentation of it.  Because I'm a cool 
> Web guy, I support content negotiation.  On day one, in addition to that 
> fancy 25 point italic version served as text/html, I also offer 
> text/plain, with each line of the poem given on one line of the returned 
> text.  Now, as in the first example, I decide I've found a better font for 
> the HTML, and I leave the text version unchanged.  You seem to imply that 
> the resource itself has surely changed? 
>   
Nope.  The poem is an abstract thing.  We never know if it changes or 
not.  But our representation might change. From the content of the 
representation, an agent should tell from themselves if the poem has 
changed or not.
> Your view seems to be that the resource needs to, at least in some sense, 
> be isomorphic to the representation, so you infer that when the 
> representation changes the resource must have changed.  It seems to follow 
> that in the case of conneg, the resource must in some sense be (or be 
> isomorphic to) the union of all served representations.  My preferred view 
> is that there is allowance for changing policy as to how a particular 
> resource is represented, and that such changes to not necessarily imply 
> that the resource itself has changed. 
>   

My view is, in fact,  just the opposite.  I think there is no inherent 
relationship between a representation and resource, let along isomorphic. 

A resource has many representations, which are acquired by sending a 
request to an agent with a communication protocol.  HTTP is just one of 
these protocols.  It maps a http-URI to a request to a server.  The 
representation we obtained by HTTP-dereference (I intensionally 
qualified the dereference with HTTP) is the representation from the 
state machine of that server, but not the representation state of the 
resource.  We can have another protocol, say a Human Transfer Protocol 
(HTP), where httpURI is mapped to a question for a particular human.  In 
this case, the representation we got back is from the state-machine of a 
human.  Again, it is not the representation state of that resource.

In the web, we understand a *resource* though the *content* of its 
*representation*. 

Note, there are three distinct concepts in the above sentence.  
*Resource* is identified by a URI.  *Representation* is what you get 
back after you *???-dereference* the URI.  *Content* is what is inside a 
*representation* and it talks about *resources*. 

We put ourselves into trouble if we have the following two thoughts.

(1) if we thought that when we *dereference*, we get back the *resource*. 
(2) if we thought there is some *truly representative* relationship 
between a representation and the resource.

This is the cause of many problems. I hope TAG can clarify it.

Regards,

Xiaoshu

Received on Wednesday, 24 October 2007 09:26:20 UTC