Re: Treatment of trailing slash after directory name

Daniel W. Connolly (connolly@hal.com)
Tue, 28 Jun 1994 17:17:41 -0500

Message-Id: <9406282217.AA03820@ulua.hal.com>
To: yandros@MIT.EDU
Subject: Re: Treatment of trailing slash after directory name
In-Reply-To: Your message of "Tue, 28 Jun 1994 16:41:53 +0500."
<9406282041.AA04950@infocalypse.MIT.EDU>
Date: Tue, 28 Jun 1994 17:17:41 -0500
From: "Daniel W. Connolly" <connolly@hal.com>

In message <9406282041.AA04950@infocalypse.MIT.EDU>, yandros@MIT.EDU writes:
>
> Given partial URI
>
> d
>
> should expansion of it be treated treated differently
> given these context URIs:
>
> (1) magic://a/b/c/
> (2) magic://a/b/c
>
> if c is a directory? Before looking at any spec., my
> spontaneous answer - being used to Unix - was NO.

First, note that there are two world-views that have not (yet?) converged:

The IETF URI working group world view, in which there
is no such thing as a relative URI, and you can't look past
the ':' in magic://a/b/c unless you know about the magic:
scheme. The URI WG has produced several drafts of a URL
spec (see your local internet draft site for details),
but as far as I know, there is no URI spec here.

The WWW world view, which is specified at:
http://info.cern.ch/hypertext/WWW/Addressing/URL/URI_Overview.html

Since you're talking about relative URI's, I assume you're using the
WWW world-view.

In that case, my interpretation of the spec agrees with your
intuition and the HTParse() code in the WWWLibrary:

connolly@ulua {** NONE **}../url_test[620] test_htparse <foo.test

***********
here: magic://a/b/c/
there: d
scheme: magic:
hostport: //a
path: /b/c/d
id:

***********
here: magic://a/b/c
there: d
scheme: magic:
hostport: //a
path: /b/d
id:

>Given partial URI:
>
> /foo/bar
>
>and base URI:
>
> scheme://baz/quux/quuux
>
>or even:
>
> scheme://baz/quux/quuux/
>
>What should the resulting URI be? Put another way, is there an
>`anchor' for the logical path, and if so, where is `the root'?

Again, your intuition matches my interpretation of the WWW URI
spec and the HTParse() code:

connolly@ulua {** NONE **}../url_test[622] test_htparse <foo.test

***********
here: scheme://baz/quux/quuux
there: /foo/bar
scheme: scheme:
hostport: //baz
path: /foo/bar
id:

***********
here: scheme://baz/quux/quuux/
there: /foo/bar
scheme: scheme:
hostport: //baz
path: /foo/bar
id:

Dan