Whatever message this page gives is out now! Go check it out!

CGI server variables

Last update:
May 18, 2026
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.

Share this page

Was this page helpful?
We're glad. Tell us how this page helped.
We're sorry. Can you tell us what didn't work for you?
Thank you for your feedback. Your response will help improve this page.

On this page