httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From (David Robinson)
Subject CGI specification (was Re: restructuring the server)
Date Thu, 27 Apr 1995 18:35:00 GMT
Beth wrote:
>... The administration
>and CGI tutorials are another set of meetings suggested. I
>figured those in this group would be most interested in
>the third set of meetings where we listen to gripes, discuss
>requested features and present our grand plans for a
>Dynamic Object Repository (DOR) as a bull's eye for y'all
>to shoot at.  In particular we would like help developing
>an Application Program Interface (API) to replace/enhance

I've just tried to write a decent specification for CGI; not very
easy. Have a look at <URL:>

I've aimed at a precise definition of all the environment variables;
In particular, PATH_INFO and PATH_TRANSLATED required some thought.
(I started this document to organise my thoughts about these variables
 because of a discussion on this list)

I've highlighted problems areas with italicised notes; these still need to
be sorted out.

The main differences with the NCSA docs are:
1. I specify some objects completely; such as complete syntax for all
   the environment variables.
2. I don't specify parameters which are features of the host operating system,
   such as how the script access `environment variables', or what character
   set it must use.
3. I give a rather different interpretation of PATH_INFO, QUERY_STRING and
   PATH_TRANSLATED (the latter now optional); I was forced into this
   interpretation by the behaviour of httpd/apache.
4. Emphasises that a standard CGI script does not and cannot know the
   original URL the client requested. (And hence cannot use it as a base
   for relative links in any HTML returned).
5. Some obvious minor improvements, such as ISINDEX queries must use the "GET"
   method, or that the authentication information (AUTH_TYPE and REMOTE_USER)
   should only be set if the _script_ is protected, rather than always if
   the data is sent by the client.

The document is in the nature of a base specification; from it one could
derive CGI specifications for specific systems, such as Unix, MS-Windows etc.

I would welcome comments, especially about what should be done with this


View raw message