The name and revision of the information protocol this request
came in with.
SERVER_PROTOCOL = HTTP-Version | extension-version
HTTP-Version = "HTTP" "/" 1*digit "." 1*digit
extension-version = protocol "/" 1*digit "." 1*digit
protocol = 1*( alpha | digit | "+" | "-" | "." )
INTERNET-DRAFT Common Gateway Interface - 1.1 15 February 1996
`protocol' is a version of the part of the script URI,
and is not case sensitive. By convention, `protocol' is in upper
case.
SERVER_SOFTWARE
The name and version of the information server software answering
the request (and running the gateway).
SERVER_SOFTWARE = *CHAR
6. Invoking the script
This script is invoked in a system defined manner. Unless specified
otherwise, this will be by treating the file containing the script as
an executable, and running it as a child process of the server.
7. The CGI script command line
Some systems support a method for supplying a array of strings to the
CGI script. This is only used in the case of an `indexed' query. This
is identified by a "GET" or "HEAD" HTTP request with a URL search
string not containing any unencoded "=" characters. For such a
request, the server should parse the search string into words, using
the rule:
search-string = search-word *( "+" search-word )
search-word = 1*schar
schar = xunreserved | escape | xreserved
xunreserved = alpha | digit | xsafe | extra
xsafe = "$" | "-" | "_" | "."
xreserved = ";" | "/" | "?" | ":" | "@" | "&"
After parsing, each word is URL-decoded, optionally encoded in a
system defined manner and then the argument list is set to the list
of words.
If the server cannot create any part of the argument list, then the
server should generate no command line information. For example, the
number of arguments may be greater than operating system or server
limitations, or one of the words may not be representable as an
argument.
8. Data input to the CGI script
As there may be a data entity attached to the request, there must be
a system defined method for the script to read this data. Unless
defined otherwise, this will be via the `standard input' file
INTERNET-DRAFT Common Gateway Interface - 1.1 15 February 1996
descriptor.
There will be at least CONTENT_LENGTH bytes available for the script
to read. The script is not obliged to read the data, but it must not
attempt to read more than CONTENT_LENGTH bytes, even if more data is
available.
For non-parsed header (NPH) scripts (see below), the server should
attempt to ensure that the script input comes directly from the
client, with minimal buffering. For all scripts the data will be as
supplied by the client.
9. Data output from the CGI script
There must be a system defined method for the script to send data
back to the server or client; a script will always return some data.
Unless defined otherwise, this will be via the `standard output' file
descriptor.
There are two forms of output that the script can give; non-parsed
header (NPH) output, and parsed header output. A server is only
required to support the latter; distinguishing between the two types
of output (or scripts) is implementation defined.
9.1. Non-Parsed Header Output
The script must return a complete HTTP response message, as described
=7= |