Subject: Re: Review of new HTTPbis text for 303 See Other

From: Pat Hayes <[email-masked]>
Date: Sun, 2 Aug 2009 08:54:02 -0500

On Jul 31, 2009, at 3:41 PM, Julian Reschke wrote:

> Pat Hayes wrote:
>> ...
>> hope I do not misrepresent anyone here.) Apparently, therefore, two  
>> people both quite expert in reading the HTTP spec do not interpret  
>> the phrase "requested resource" in the same way, leaving me and I  
>> suspect others in a state of complete confusion. ...
>
> We have multiple issues open with respect to cleaning up that  
> terminology. I would recommend to delay any new discussion until  
> we're done with that (which *should* be the -08 versions of the  
> drafts).

OK, great. Sorry if my insistence on this point has caused needless  
feather ruffling. For the record, let me outline the case that raises  
the central issue. No need to reply.

1.   http://example.com:8080/people/richard_cyganiak  identifies  
Richard Cygniak, the actual human being.
2.   A GET request on http://example.com:8080/people/richard_cyganiak   
resolves to some HTTP endpoint (server, whatever; I'm not sure of the  
right terminology here. I mean, the network entity which functionally  
handles the request and emits an HTTP response, and whose behavior is  
governed by the HTTP specs. I gather that this may not be identical  
with the http:resource (information resource) associated with it: the  
latter may lie just behind the endpoint, which constitutes an  
"interface" to it. (?))
3.  There is an information resource, R, at this endpoint. (Again, I'm  
not sure of the right terminology. By R I mean a thing which has a  
transmittable representation in the sense of the HTTP specs, so that  
it is possible for the endpoint to send a 200-coded response to a GET  
request with a URI which identifies R.)
4. To emphasize, this means that there are two resources in the  
picture: Richard Cygniak, who is not an information resource or an  
http:resource (with the current wording, ie a network object or  
service) and has no transmittable represetnation; and R, which falls  
under both categories, and does have a transmittable representation.  
The URI identifies the first and resolves to (an endpoint interfaced  
to) the second.

OK, so now the questions that need to be resolved are (at least :-):

A. Is this possible? (If not, how is it to be prohibited, since owners  
of URIs can, it seems, set up such a situation.)
B. Under these circumstances, is the "requested resource" R, or is it  
Richard Cygniak? (If the former, what is the relationship, if any,  
between the 'requested' resource and the 'identified' resource?)
C. Does http-range-14 require that the endpoint emit a 303 response  
under these circumstances? (If the answer is no, then some explanation  
is needed.)

Pat

---

From: Tim Berners-Lee <[email-masked]>
Date: Sun, 2 Aug 2009 15:54:37 -0400

On 2009-08 -02, at 09:54, Pat Hayes wrote:

>>> hope I do not misrepresent anyone here.) Apparently, therefore,  
>>> two people both quite expert in reading the HTTP spec do not  
>>> interpret the phrase "requested resource" in the same way, leaving  
>>> me and I suspect others in a state of complete confusion. ...
>>
> feather ruffling. For the record, let me outline the case that  
> raises the central issue. No need to reply.
>
> 2.   A GET request on http://example.com:8080/people/ 
> richard_cyganiak  resolves to some HTTP endpoint (server, whatever;  
> I'm not sure of the right terminology here. I mean, the network  
> entity which functionally handles the request and emits an HTTP  
> response, and whose behavior is governed by the HTTP specs. I gather  
> that this may not be identical with the http:resource (information  
> resource) associated with it: the latter may lie just behind the  
> endpoint, which constitutes an "interface" to it. (?))
> 3.  There is an information resource, R, at this endpoint. (Again,  
> I'm not sure of the right terminology. By R I mean a thing which has  
> a transmittable representation in the sense of the HTTP specs, so  
> that it is possible for the endpoint to send a 200-coded response to  
> a GET request with a URI which identifies R.)
> A. Is this possible? (If not, how is it to be prohibited, since  
> owners of URIs can, it seems, set up such a situation.)

No.
Peer pressure from people whose system can't use the server.

> B. Under these circumstances, is the "requested resource" R, or is  
> it Richard Cygniak? (If the former, what is the relationship, if  
> any, between the 'requested' resource and the 'identified' resource?)

Richard.
The 'requested' thing is presumably means that denoted by the URI in  
the GET request.

> under these circumstances? (If the answer is no, then some  
> explanation is needed.)

Yes.

---

From: Larry Masinter <[email-masked]>
Date: Mon, 3 Aug 2009 12:16:12 -0700

With regard to the word "Document", I'd like to
recommend as background reading:

http://www.amazon.com/gp/product/1559706481
Scrolling Forward: Making Sense of Documents in the Digital Age
by David Levy

since the much of thought behind it informs a lot of my own
thinking about the nature of "Document", "representation", 
"Resource" and the like.  

Larry
-- 
http://larry.masinter.net

---

From: Alan Ruttenberg <[email-masked]>
Date: Mon, 3 Aug 2009 21:30:42 -0400

> recommend as background reading:

I'll have a look, but pending that, could you share some of what you
think the essential points are?

Thanks,
Alan

---

From: Alan Ruttenberg <[email-masked]>
Date: Tue, 4 Aug 2009 01:07:00 -0400

So I've purchased the book and started working through it a bit, and
something comes to mind. In the second chapter (where I've ended for
the moment) we have an offer for the definition of "document"

"Documents are exactly those things we create to speak for us, on our
behalf and in our absence."

Now one of the things I do when I'm working developing ontologies, as
a kind of wedge to make sure we aren't fooling ourselves into thinking
we're done, is ask the question of some definition - what are things
that are not this? And if we find this is difficult to do, we know
there is a problem. So I would ask that you also consider that
question.

It seems that with this definition we have now possibly subsumed all
of artistic  endeavor under the name "document".  And if that's the
case I don't think that's great progress. For one thing it does
disservice to a whole lot of other words we've developed "dance"
"song" "sculpture" "fiction" - all of these are "documents" now.
Secondly it dilutes the meaning of "document" so much that there is
little that we know about something if all we know is that it is a
"document".

Maybe some of this is modified in the rest of the book - I'll keep on reading.

-Alan

---

From: Pat Hayes <[email-masked]>
Date: Tue, 4 Aug 2009 10:30:36 -0500

On Aug 2, 2009, at 2:54 PM, Tim Berners-Lee wrote:

>>>> interpret the phrase "requested resource" in the same way,  
>>>> leaving me and I suspect others in a state of complete  
>>>> confusion. ...
>>>
>> response, and whose behavior is governed by the HTTP specs. I  
>> gather that this may not be identical with the http:resource  
>> (information resource) associated with it: the latter may lie just  
>> behind the endpoint, which constitutes an "interface" to it. (?))
>> I'm not sure of the right terminology. By R I mean a thing which  
>> has a transmittable representation in the sense of the HTTP specs,  
>> so that it is possible for the endpoint to send a 200-coded  
>> response to a GET request with a URI which identifies R.)
>> service) and has no transmittable represetnation; and R, which  
>> falls under both categories, and does have a transmittable  
>> representation. The URI identifies the first and resolves to (an  
>> endpoint interfaced to) the second.
>>

Well, it is *possible*. I guess you are saying, it should be deprecated.

> Peer pressure from people whose system can't use the server.

Hmm, but why would they not be able to use it? Seems to me that if we  
can get our various storys straight, then this possibility is not only  
workable but might be quite useful. Imagine there is some elaborate  
Web ontology linked data service thing which uses 303 redirection on a  
whole range of URIs it treats as denoting external entities, a thing  
along the lines of DBpedia. But it also has a URI of its own, one that  
identifies it, and to which it responds with a nicely designed,  
informative web page explaining its history and how to use it and so  
forth. LIke DBpedia, in fact. Seems to me that we should be able to  
say that this thing is a resource, and that it can be described in  
just this way. Yes, it has a 200-codable representation of itself,  
which it can deliver when you GET the appropriate URI, but it also  
handles a large number of other URIs using 303 redirection, conformant  
with http-range-14. One thing, one resource (or maybe one HTTP  
endpoint/server), does all of this. Why not? It seems more natural to  
say that about DBpedia than to have to say that DBpedia is not one  
thing but thousands of different things, one for each URI it redirects.

If we prohibit the situation I outlined, then any http endpoint which  
performs a 303 redirect must be 'invisible' : it cannot have a URI of  
its own, so to speak, one that delivers information about it with a  
200 code attached. And this seems both a needless restriction, and one  
that might be a real problem under some circumstances.

Pat

>> under these circumstances? (If the answer is no, then some  

------------------------------------------------------------
IHMC                                     (850)434 8903 or (650)494 3973
40 South Alcaniz St.           (850)202 4416   office
Pensacola                            (850)202 4440   fax
FL 32502                              (850)291 0667   mobile
phayesAT-SIGNihmc.us       http://www.ihmc.us/users/phayes

---

From: Ian Davis <[email-masked]>
Date: Thu, 6 Aug 2009 01:37:12 +0100

On Tue, Aug 4, 2009 at 4:30 PM, Pat Hayes<[email-masked]> wrote:
> Hmm, but why would they not be able to use it? Seems to me that if we can
> get our various storys straight, then this possibility is not only workable
> but might be quite useful. Imagine there is some elaborate Web ontology
> linked data service thing which uses 303 redirection on a whole range of
> URIs it treats as denoting external entities, a thing along the lines of
> DBpedia. But it also has a URI of its own, one that identifies it, and to
> which it responds with a nicely designed, informative web page explaining
> its history and how to use it and so forth. LIke DBpedia, in fact. Seems to
> me that we should be able to say that this thing is a resource, and that it
> can be described in just this way. Yes, it has a 200-codable representation
> of itself, which it can deliver when you GET the appropriate URI, but it
> also handles a large number of other URIs using 303 redirection, conformant
> endpoint/server), does all of this. Why not? It seems more natural to say
> that about DBpedia than to have to say that DBpedia is not one thing but
> thousands of different things, one for each URI it redirects.

I don't think dbpedia is thousands of things. There is a website that
answers requests for information about thousands of things.

In fact, being pedantic I should ask you to properly define what you
mean when you refer to dbpedia. Do you mean the database of facts
derived from wikipedia dumps, the project to create that database, the
team that undertakes the project, the website that provides access to
the database or possibly the domain name dbpedia.org?

BTW http://dbpedia.org/resource/DBpedia appears to be a URI for the
project and http://dbpedia.org/resource/DBpedia_Team seems to be a URI
for the team.

Ian

---

From: Pat Hayes <[email-masked]>
Date: Thu, 6 Aug 2009 09:47:16 -0500

> answers requests for information about thousands of things.

Right, exactly my feeling also. There is one resource called DBpedia,  
with its URI http://wiki.dbpedia.org/
which identifies it.

> mean when you refer to dbpedia.

Whatever it is that the URI identifies. I might not know or care about  
its precise metaphysical status, but I know that there ought to be one  
of it.

Right now, it could be anything, in fact, because that URI redirects  
to http://wiki.dbpedia.org/About, thus neatly avoiding the http  
200/303 schizoid case outlined above. Maybe this should be the  
recommended practice, and this 200/303 splitting based on URIs should  
be avoided. So rather than having a 303 and a 200 to deliver, it  
always uses 303 but redirects to something else (in this case the .../ 
About) which has the 200 response attached. That also makes sense. I  
really have no axe to grind hard on this point, just wanting to get  
things clear.

Pat

> Do you mean the database of facts