You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by "Ralf S. Engelschall" <rs...@engelschall.com> on 1996/09/02 23:57:35 UTC

Terminology: URI and URL

While writing an article about mod_rewrite I discovered that there is a
subtle problem in terminology of URLs and URIs in practice (in theorie is is
clear because of the definition). I don't know how to name a string
"http://www.anyhost.dom/foo/bar/quux/" when I mean _EXACTLY_ this format and
how to name a string "/foo/bar/quux/" when I mean _EXACTLY_ that format (ok,
I could name it a Unix filesystem path but that is ugly in Web context).  So,
I posted the following to c.i.w.m, but it also want to hear the comments of
the Apache developers. Please give a hint...

===============================================================
The terminology of URI, URLs etc seems to be not 100% clear.  Ok, the URI
Working Group gave a definition.  In principle: ``URIs are the superclass of
URLs and URNs''. And they gave some examples of what should be called URLs
and what else are URNs. Hmmm...

But in the Web community they are not used in this way: Often
http://www.anyhost.dom/foo/bar/quux/ is called a URI and its /foo/bar/quux/
part is called a URL. Ok, both labels are correct according to the
definition. But when used in this way, the people DO NOT MEAN the
interpretation of the definition. Often when they say "a URL" they mean just
"/foo/bar/quux/" strings and when they say "a URI" they mean really a string
like "http://www.anyhost.dom/foo/bar/quux/".

So, independ if this usage is wrong or true, the question is:

1. How would you call a string "/foo/bat/quux/" when
   you really mean such a specific form of a URL, i.e.  without the scheme
   and the host part?
   Perhaps:
       - URL (this is correct to the def. but would
         not restrict it to this specific format)
       - local URL (hmmm... in the case of webserver, yes)

2. How would you call a string "http://www.anyhost.dom/foo/bat/quux/" when
   you really mean such a specific form of a URL, i.e. including the scheme
   and the host part?
   Perhaps:
       - URI (this is correct to the def. but would
         not restrict it to this specific format)
       - fully-qualified URL (hmmm...)
       - URL (hmmm...)

Any hints or comments?
===============================================================

Greetings,

Re: Terminology: URI and URL

Posted by Alexei Kosut <ak...@nueva.pvt.k12.ca.us>.
On Mon, 2 Sep 1996, Ralf S. Engelschall wrote:

> While writing an article about mod_rewrite I discovered that there is a
> subtle problem in terminology of URLs and URIs in practice (in theorie is is
> clear because of the definition). I don't know how to name a string
> "http://www.anyhost.dom/foo/bar/quux/" when I mean _EXACTLY_ this format and
> how to name a string "/foo/bar/quux/" when I mean _EXACTLY_ that format (ok,
> I could name it a Unix filesystem path but that is ugly in Web context).  So,
> I posted the following to c.i.w.m, but it also want to hear the comments of
> the Apache developers. Please give a hint...

Read RFC 1738 and 1808. A URI is anything that starts with UR*
(e.g. URL, URN, URC). a URL identifies a specific location in a
uniform way. so "http://www.anyhost.dom/foo/bar/quux/" is a URL (RFC
1738; also a URI). "/foo/bar/quux/" is an "absolute URL path" (RFC
1808), or just "URL path" (RFC 1808) or "url-path" (RFC 1738).

Apache uses this terminology inconsitently. But we're just
programers. Names of variables and structure members are just labels;
they don't necessarily mean anything. For example, the uri member of
request_rec: you might think it means "Uniform Resource Identifier",
but actually it is stands for "U R an Idiot".

Rob owes Roy beer.

-- 
________________________________________________________________________
Alexei Kosut <ak...@nueva.pvt.k12.ca.us>      The Apache HTTP Server
URL: http://www.nueva.pvt.k12.ca.us/~akosut/   http://www.apache.org/