W3C home > Mailing lists > Public > public-awwsw@w3.org > April 2008

RE: network endpoints

From: Williams, Stuart (HP Labs, Bristol) <skw@hp.com>
Date: Thu, 17 Apr 2008 14:01:14 +0000
To: Jonathan Rees <jar@creativecommons.org>
CC: "public-awwsw@w3.org" <public-awwsw@w3.org>
Message-ID: <9674EA156DA93A4F855379AABDA4A5C611CE7DDE59@G5W0277.americas.hpqcorp.net>

> -----Original Message-----
> From: Jonathan Rees [mailto:jar@creativecommons.org]
> Sent: 17 April 2008 13:46
> To: Williams, Stuart (HP Labs, Bristol)
> Cc: public-awwsw@w3.org
> Subject: Re: network endpoints
>
>
> On Apr 16, 2008, at 12:55 PM, Williams, Stuart (HP Labs,
> Bristol) wrote:
>
> > Hello Jonathan,
> >
> >> -----Original Message-----
> >> [mailto:public-awwsw-request@w3.org] On Behalf Of Jonathan Rees
> >>
> >> One thing I would like to add to my diagram: A box for "network
> >> endpoint" with the meaning of a real-world source of
> >> awww:representations (e.g. a "web page" operationally defined by the
> >> process of sending an HTTP request specifying a particular resource-
> >> name string to a particular server, using the Internet, and so on).
> >
> > Oooohhh, I'd really rather that you didn't - not unless you really
> > really have to.
>
> I didn't mean to say I wanted to analyze network or protocol
> phenomena in depth. I just want to put "the web" onto the diagram
> somewhere - right now the diagram is completely detached from
> reality, as there is no arc that connects abstract entities such as
> IRs and value clouds to real world phenomena such as the web.  I
> think I accept the same "the web" abstraction as you, and that the
> things I'm looking for are simply the specialization of "the web" to
> a particular URI. Let me take a crack at saying what this "the web"
> idealization is:
>
> let U = a URI, p = additional request parameters (such as Accept:), t
> = a time, V = a ft:value
>
> Submit a request (what in HTTP would be GET) for a
> awww:representation to "the web", using U to identify the
> awww:resource, at time t, specifying parameters p, with a successful
> result V, on a web W:
>
> webget(W,U,p,t) = V

Ok... though (see below...) I might allow different result types

  webget(W,U,p,t) = V \ {V,U'} \ U'

  V being normal 200 returned values.

  {V, U'} being 200 conneg'd values where U' is the URI for the
  corresponding variant obtained from a Content-Location: header
  (which may be gratitously present).

  U' arising from the :Location header of a 30x redirect response.

> This would be true if, for example, the protocol used is HTTP and the
> response is a 200.

yes...

> There may be other things you can do with W but this is the one we
> care about.

yes... I have wondered about a deep space probe landing on a far distant planet and beaming back an image of "http://www.google.com" carved into a rock face.

> I hope this idea matches the entity "the web" that you're
> talking about.

Yes I think so.

> As for 'network endpoint', all I'd like to see is the specialization
> of webget to a particular W and U. We can fix W for the purposes of
> the entire diagram (since there is only one that we care about). For
> each URI U I posit a thing E(W,U), the logical endpoint of U (or
> whatever we choose to call it so that it doesn't misevoke) on W,
> satisfying
>
> get(E(W,U),p,t) = webget(W,U,p,t)
>
> I hypothesize that this is the class that David Booth has talked
> about as "network source of representations".

Well ok... but I remain to be convinced that we'll have very much to say about these
E(W,U) things - though maybe since host->ip mappings etc change, it may need to be E(W,U,t).

> Now why such an artifice? Because it helps the diagram giving another
> thing for URI to map to (U has endpoint E(W,U), or class URI maps to
> class endpoint), and another thing that, like Value Cloud, has the
> potential to be faithful (in some way) to some IR. It's also helpful
> notationally in RDF and OWL since there are no n-ary predicates. (We
> have to do the same kind of "at time t" with these that we did with
> IRs and value clouds.)

ie. we need some bits of, possibly blank node, scaffolding in order or create n-ary predicates (i guess by extension).

> I imagine this 'webget'/'get' function hides 301/2/7 redirects behind
> the scenes.

Oh... another hobby horse... I'd rather that you didn't :-)

When you follow say a 303 and then get a 200 and a awww:representation the agent that did the following made a conscious decision to do so and performed a distinct webget operation using (see above) U'. I think that by respecting both operations as distinct we get to say things about both U and U'.

> To go one level of analysis deeper, instead of GET of a
> request (URI with parameters p) yielding a ft:Value (200), we talk
> about the more fine grained relationship of a request to an
> http:Response, and then we get to talk about redirects. Then we say
> how 'get' relates to the request/response relationship, which is
> where we were before.

I think that's sounding close to the 'model' I sketch in my homework item a few weeks back - though I only covered the 200 case.

> Yes, I agree we needn't talk about proxies,
> caching, or 404 at this time.


Stuart
--
Hewlett-Packard Limited registered Office: Cain Road, Bracknell, Berks RG12 1HN
Registered No: 690597 England
Received on Thursday, 17 April 2008 14:05:36 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 July 2008 07:55:27 GMT