"finger" and URN -> URL

JC Touvet (Jean-Christophe.Touvet@inria.fr)
Thu, 17 Feb 1994 11:51:45 --100

Hello happy Webbers,

you certainly wonder what could be in my mind the link between yesterday's
"finger" and URNs discussions.

Dan suggested:

> ... click <A HREF="finger://my.domain/myloginname">here</a>...

> I'm not sure about the URL syntax for a finger query... you should check
> the spec or the code or something.

and Dave wrote:

> By using URNs we can decouple this from the document format itself. I have
> recently posted a note on how this can be achieved using a DNS like
> distributed name lookup scheme for lifetime identifiers and a mechanism for
> selecting between variants. This could be available by the end of this year.

Now, let's imagine we have a very strong directory service that:

- provides white or yellow pages informations
- has powerful searching capabilities
- can easily store Web URLs
- is the perfect response to a "distributed name lookup scheme"

And, on the other hand, a protocol that:

- allows you to access this directory service
- but is not restricted to it (finger, whois+*... compatibility)
- uses User Friendly Naming
- has a centroid approach of servers networking
- is so simple that a nice client module could be easily integrated in
the common WWW library

maybe we'd have a solution to both problems.

But those things exist yet, namely X.500 and SOLO:

- X.500 is THE directory service, but it's HUGE to implement, even as
a client.

- SOLO has only one command: SOLO <ufn>?attributes. Its results are
easily parsable, and fit perfectly in an hypertext browser: if the
name is not found, we get suggestions, and we can create hypertext
links with that.

On server side, you can implement SOLO just a la finger, but you can
also build an X.500 access server with it. Thus we have done a WWW/SOLO
gateway that provides X.500 and SOLO servers access from a WWW client. And, of
course, we have put URL attributes in our X.500 directory.

But more efficient is is what we're doing now: add to libwww a module (smaller
than gopher one) that:

- given a "solo://server/" URL
example "solo://mitsou.inria.fr/"

returns you a FORM to query the server

- given a "solo://server/ufn?attributes" URL
example "solo://mitsou.inria.fr/huitema?*"

sends the query to the server, and parses results:
- if suggestions returned -> hypertext links to other queries
- if name found -> HTML result
- if URL attributes found in entry -> hypertext links
- and if a "SmallPhoto" URL found -> include it in result
- could be extended (suggestions ?), but we want to keep it SIMPLE

- given a "x500:ufn?attributes" URL
example "x500:kostner,nexor,england?phone,address,email,url"

does the same, but using an X.500 access server defined in your
environment (which must be a SOLO server, of course ;-). So, you can
use the nearest entry point in X.500 world.

- given a "urn:name" URL
example "urn:CN=testdoc,O=inria,C=fr"

returns the latest version of a document using the same X.500 access

- given a "urn:name#version" URL
example "urn:CN=testdoc,O=inria,C=fr#1.0.1"

returns the named version of the document

We are submitting a paper on this topic for the WWW-94 conference, so if
you're interested in it, you'll find further explanations on CERN's server.

If you want more informations about SOLO, have a look at the draft RFC:



<A HREF="solo://perignon.inria.fr:2222/touvet?*"> JC Touvet </A>
<A HREF="x500:pap,inria,france?*"> Paul-Andre Pays </A>
<A HREF="urn:CN=Solo/WWW%20paper,O=inria,C=fr"> The paper (soon) </A>