Re: CGI Suggestion

robm@ncsa.uiuc.edu (Rob McCool)
Message-id: <9312301806.AA25963@void.ncsa.uiuc.edu>
From: robm@ncsa.uiuc.edu (Rob McCool)
Date: Thu, 30 Dec 1993 12:06:03 -0600
In-Reply-To: john@math.nwu.edu (John Franks)
       "Re: CGI Suggestion" (Dec 28, 10:52am)
X-Mailer: Mail User's Shell (7.2.5 10/14/92)
To: www-talk@nxoc01.cern.ch, henrich@crh.cl.msu.edu (Charles Henrich)
Subject: Re: CGI Suggestion
Content-Length: 1685
/*
 * Re: CGI Suggestion  by John Franks (john@math.nwu.edu)
 *    written on Dec 28, 10:52am.
 *
 * According to Charles Henrich:
 * 
 * > I would like to propose that instead of (or if we must, as well as) allowing
 * > the embedding of information in the path (which is really poor!) we should
 * > special case the character ';' to mean end of URL for the client.  This would
 * > allow folks to use
 * > 
 * > http://machine/documentpath;info that can be passed to programs.
 * 
 * I think this is a much cleaner suggestion than the current scheme

I suppose it's cleaner, but special cases the ; in URLs...


[extra stats]

 * This was what I saw as problmatic also.  But, in fact, that isn't the way
 * that NCSA httpd, at least, works (as Guy Descoux pointed out).  What it
 * does is read some magic names (like "cgi-bin") from a configuration file
 * and assume that the first thing in the path after the magic name is a
 * script and anything else is info.  It is not necessary to stat anything.

No, it doesn't, that's what Charles is talking about. Currently it assumes
nothing about the path and stats each level until it finds something it can
use.

 * This is workable, but less clean than either Charles suggestion or my
 * earlier one (the maintainer has to set up and maintain the magic
 * names, for example).  I also agree with Charles that embedding
 * information in a path is "really poor", primarily because it is
 * potentially confusing.
 */

Well, confusing yes, but it makes for some interesting filters, such as

/cgi-bin/get-annotations/foo/bar/foo.html

which, with PATH_TRANSLATED, allows you to seamlessly get group annotations
for a document.

--Rob