Re: httpRange-14 , what's the problem

On Thursday, August 1, 2002, at 03:09  AM, Miles Sabin wrote:
> Roy T. Fielding wrote,
>> An http URI, when it is dereferenced, activates a mechanism whereby
>> the string of characters in the URI is used to select a bag of bits
>> that is supposed to represent the state of the abstract thing
>> identified as a resource via the http naming authority.
>
> I think this very clear statement points to the crux of my disagreement
> with Roy's position. I would agree to the following,
>
>   An http URI, when it is dereferenced in the way characteristic of the
>   HTTP protocol, activates a mechanism whereby the string of characters
>   in the URI is used to select a bag of bits that is supposed to
>   represent the state of the abstract thing identified as a resource via
>   the http naming authority.

Yes, that's what I meant for an http URI.  A reasonable definition
of dereference can be found at

    <http://wombat.doc.ic.ac.uk/foldoc/foldoc.cgi?dereference>

Note that when you dereference a pointer you get back a copy of the
stored value at the pointed location, not the location itself.

> In fact, I'd go further and say that this looks very promising as a
> _definition_ of "dereference" within a framework which incorporates the
> HTTP protocol, http URIs and a particular conception of resource ... I
> guess that framework is REST.

No more private definitions, please -- dereference is a known concept.

> Where I differ is that I don't accept that this conception of resource
> and dereferencing is the only one ... I'm not even sure that it's the
> one most commonly associated with http URIs.

It isn't the only one.  It is the one that I needed to create in order
to consistently define a model for HTTP/1.1 and all of the Web technology
that I have influenced.

> Some examples of alternatives,
>
> * (One Roy gave elsewhere in his post) Auto manufacturers might agree to
>   stamp every vehicle with a unique http URI. We might "dereference"
>   such a URI by physically pointing at the vehicle, or a car park
>   attendant might drive it somewhere accessible to its owner.

I don't know what you mean by accessible, but the dereference occurs if
someone takes the reference (any identifier) and uses it to gain access
to the current value of the identified thing.  A car park could do that
with a VIN to parking space mapping, but they don't because VIN are too
long to be an efficient identifier in those situations.  So instead the
parking attendant gives the owner one-half of a shared identifier and
places the other half on a layout board that marks the parking space.
He later uses the owner's tag as a lookup key to find a pointer, which
he then dereferences to find the car and deliver it to the owner.
Cute example of a chained dereference in the real world.

> * XML namespaces are abstract, stateless, pointlike entities, which have
>   no defining characteristics other than being numerically distinct from
>   one another. The http URIs used to identify them are "dereferenced" in
>   the course of namespace processing in an XML processor, merely by
>   being used to demarcate the scope of XML names.

No, they are only referenced during XML processing, not dereferenced.

> * It's common practice to treat cannonical "entry point" URIs (eg.
>   http://www.w3.org/) as identifiers of complete web-sites. These http
>   URIs might be "dereferenced" by REST-dereferencing one or more URIs
>   (not necessarily including the entry-point URI itself) identifying
>   REST-resources which are parts of that web-site, or informally (eg.
>   "Where's the RDF spec? It's on http://www.w3.org/.")

No, again you are mixing referencing with dereferencing.  They are not
the same thing.  People also use URI like "http://proxy.example.com/"
to identify proxies for other identifier schemes.  The identifier is
only dereferenced when it is replaced by the value of what is
identified, not when it is simply used as a reference.  Placing a
URI in an anchor href does not automatically result in a dereference;
a dereference only happens when the technology does a "follow this link"
operation, either by user request or configured automation.

> * It's common for http URIs to be subject to multiple informal
>   interpretations (eg. http://www.w3.org/ might, in appropriate
>   contexts, be used to refer to a bag'o'bits, an HTML document, the
>   W3C's website, the W3C, the best example of accessible web page
>   design, Joe Blogg's favourite web site, my favourite example when
>   waffling about URIs etc. etc.). Exactly what constitutes
>   "dereferencing" in these contexts is liable to be as variable as the
>   contexts themselves.

Those are all examples of referencing.

....Roy

Received on Thursday, 1 August 2002 17:12:04 UTC