Documentation for HTTP:WITH-CGI-ENVIRONMENT



HTTP:WITH-CGI-ENVIRONMENT [macro]: ((&REST VARIABLES) &BODY BODY)
Binds the CGI variables in VARIABLES within the scope of BODY.
In addition to the variables listed below, any HTTP header may be accessed by
prefixing the header name with "http_".

CGI 1.1 Variables

AUTH_TYPE
If the server supports user authentication, and the script is protects,
this is the protocol-specific authentication method used to validate the user.

CONTENT_LENGTH
The length of the said content as given by the client.

CONTENT_TYPE
For queries which have attached information, such as HTTP POST and PUT,
this is the content type of the data.

GATEWAY_INTERFACE
The revision of the CGI specification to which this server complies.
Format: CGI/revision

HTTP_ACCEPT
The MIME types which the client will accept, as given by HTTP headers.
other protocols may need to get this information from elsewhere. each
item in this list should be separated by commas as per the http spec.
Format: type/subtype, type/subtype
CL-HTTP Format: a list of content type specifications.

HTTP_REFERER
Not listed in CGI/1.1 but used in the examples.

HTTP_USER_AGENT
The browser the client is using to send the request.
General format: software/version library/version.

PATH_INFO
The extra path information, as given by the client. In other words,
scripts can be accessed by their virtual pathname, followed by extra
information at the end of this path. The extra information is sent as
PATH_INFO. This information should be decoded by the server if it comes
from a URL before it is passed to the CGI script.

PATH_TRANSLATED
The server provides a translated version of PATH_INFO, which takes the
path and does any virtual-to-physical mapping to it.

QUERY_STRING
The information which follows the ? in the URL which referenced this
script. This is the query information. It should not be decoded in any
fashion. This variable should always be set when there is query
information, regardless of command line decoding.

REMOTE_ADDR
The IP address of the remote host making the request.

REMOTE_HOST
The hostname making the request. If the server does not have this
information, it should set REMOTE_ADDR and leave this unset.
CL-HTTP Format: a domain name or NIL

REMOTE_IDENT
If user authentication is in use on a resource, then this variable
returns the qualified user name (realm|name). The 1.1 specification stated that
if the HTTP server supports RFC 931 identification, then this variable
will be set to the remote user name retrieved from the server. 
Usage of this variable should be limited to logging only.

REMOTE_USER
If the server supports user authentication, and the script is
     protected, this is the username they have authenticated as.

REQUEST_METHOD
The method with which the request was made. For HTTP, this is "get",
"head", "post", etc.

SCRIPT_NAME
A virtual path to the script being executed, used for self-referencing URLs.

SERVER_NAME
The server's hostname, DNS alias, or IP address as it would appear in
self-referencing URLs.

SERVER_PORT
The port number to which the request was sent.

SERVER_PROTOCOL
The name and revision of the information protcol this request came in
with. Format: protocol/revision

SERVER_SOFTWARE
The name and version of the information server software answering the
request (and running the gateway). Format: name/version


CL-HTTP/70.216 (LispWorks; 2.1.7)