User Guide
30 Chapter 1: Reserved Words and Variables
Testing for CGI variables
Because some browsers do not support some CGI variables, ColdFusion always returns True
when it tests for the existence of a CGI variable, regardless of whether the browser supports the
variable. To determine if the CGI variable is available, test for an empty string, as shown in the
following example:
<cfif CGI.varname IS NOT "">
CGI variable exists
<cfelse>
CGI variable does not exist
</cfif>
CGI server variables
The following table describes common CGI environment variables that the server creates (some
of these 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.)