CGI server variables

The following table describes common CGI environment variables that the server creates (some variables are not available with some servers):

CGI server variable

Description

SERVER_SOFTWARE

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

SERVER_NAME

Server's hostname, DNS alias, or IP address as it appears in self-referencing URLs.

GATEWAY_INTERFACE

CGI specification revision with which this server complies. Format: CGI/revision.

SERVER_PROTOCOL

Name and revision of the information protocol this request came in with. Format: protocol/revision.

SERVER_PORT

Port number to which the request was sent.

REQUEST_METHOD

Method with which the request was made. For HTTP, this is Get, Head, Post, and so on.

PATH_INFO

Extra path information, as given by the client. 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.

PATH_TRANSLATED

Translated version of PATH_INFO after any virtual-to-physical mapping.

SCRIPT_NAME

Virtual path to the script that is executing; used for self-referencing URLs.

QUERY_STRING

Query information that follows the ? in the URL that referenced this script.

REMOTE_HOST

Hostname making the request. If the server does not have this information, it sets REMOTE_ADDR and does not set REMOTE_HOST.

REMOTE_ADDR

IP address of the remote host making the request.

AUTH_TYPE

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

REMOTE_USER AUTH_USER

If the server supports user authentication, and the script is protected, the username the user has authenticated as. (Also available as AUTH_USER.)

REMOTE_IDENT

If the HTTP server supports RFC 931 identification, this variable is set to the remote username retrieved from the server. Use this variable for logging only.

CONTENT_TYPE

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

CONTENT_LENGTH

Length of the content as given by the client.

 

Get help faster and easier

New user?