system defined
The feature may differ between systems, but must be the same for
different implementations using the same system. A system will
usually identify a class of operating-systems. Some systems are
INTERNET-DRAFT Common Gateway Interface - 1.1 15 February 1996
defined in section 12 of this document. New systems may be defined
by new specifications without revision of this document.
implementation defined
The behaviour of the feature may vary from implementation to
implementation, but a particular implementation must document its
behaviour.
1.4. Terminology
This specification uses many terms defined in the HTTP/1.0
specification [3]; however, the following terms are used here in a
sense which may not accord with their definitions in that document,
or with their common meaning.
environment variable
A named parameter that carries information from the server to the
script. It is not necessarily a variable in the operating-system's
environment, although that is the most common implementation.
script
The software which is invoked by the server via this interface. It
need not be a standalone program, but could be a
dynamically-loaded or shared library, or even a subroutine in the
server.
server
The application program which invokes the script in order to
service requests.
2. Notational Conventions and Generic Grammar
2.1. Augmented BNF
All of the mechanisms specified in this document are described in
both prose and an augmented Backus-Naur Form (BNF) similar to that
used by RFC 822 [6]. This augmented BNF contains the following
constructs:
name = definition
The name of a rule is simply the name itself; it is separated from
the definition by the equal character ("="). Whitespace is only
significant in that continuation lines of a definition are
INTERNET-DRAFT Common Gateway Interface - 1.1 15 February 1996
indented.
"literal"
Quotation marks (") surround literal text, except for a literal
quotation mark, which is surrounded by angle-brackets ("<" and
">"). Unless stated otherwise, the text is case-sensitive.
rule1 | rule2
Alternative rules are separated by a vertical bar ("|").
(rule1 rule2 rule3)
Elements enclosed in parentheses are treated as a single element.
*rule
A rule preceded by an asterisk ("*") may have zero or more
occurrences. A rule preceded by an integer followed by an asterisk
must occur at least the specified number of times.
[rule]
A element enclosed in square brackets ("[" and "]") is optional.
2.2. Basic Rules
The following rules are used throughout this specification to
describe basic parsing constructs.
=2= |