![]() ![]() ![]() |
Each time a browser makes a request to a server, a set of environment variables are created, some by the Web server and some by the browser.
In ColdFusion, these variables are referred to as CGI environment variables and they use the "CGI" prefix (even if your server is using a server API instead of CGI to communicate to the ColdFusion Server).
The environment variables contain a range of data about the transaction between the browser and the server, such as the IP Address, browser type, and authenticated username. You can reference CGI environment variables for a given page request anywhere in the page. All CGI variables are read-only.
The environment variables available to your applications depend on the browser and server software in use for a given request.
Because not all CGI variables are supported by every browser, ColdFusion always returns TRUE when testing for the existence of a CGI variable, even if the variable is not supported by the client browser. The way around this is to test for an empty string, instead of a boolean return, to see whether the CGI variable is available.
<CFIF CGI.varname IS NOT ""> CGI variable exists <CFELSE> CGI variable does not exist </CFIF>
The following table describes the most common CGI environment variables created on the server (not all of these will be available with every server):
CGI Server Variables | |
---|---|
Variable |
Description |
SERVER_SOFTWARE |
The name and version of the information server software answering the request (and running the gateway). Format: name/version. |
SERVER_NAME |
The server's hostname, DNS alias, or IP address as it appears in self-referencing URLs. |
GATEWAY_INTERFACE |
The revision of the CGI specification to which this server complies. Format: CGI/revision. |
SERVER_PROTOCOL |
The name and revision of the information protocol this request came in with. Format: protocol/revision. |
SERVER_PORT |
The port number to which the request was sent. |
REQUEST_METHOD |
The method with which the request was made. For HTTP, this is Get, Head, Post, and so on. |
PATH_INFO |
The 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 |
The server provides a translated version of PATH_INFO, which takes the path and does any virtual-to-physical mapping to it. |
SCRIPT_NAME |
A virtual path to the script being executed; used for self-referencing URLs. |
QUERY_STRING |
The query information that follows the ? in the URL that referenced this script. |
REMOTE_HOST |
The hostname making the request. If the server does not have this information, it sets REMOTE_ADDR and does not set REMOTE_HOST. |
REMOTE_ADDR |
The IP address of the remote host making the request. |
AUTH_TYPE |
If the server supports user authentication, and the script is protected, this is 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, this is the username they have 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 |
The length of the content as given by the client. |
The following chart describes the most common CGI environment variables created by the browser and passed in the request header:
CGI Client Variables | |
---|---|
Variable |
Description |
HTTP_REFERER |
The referring document. This is the document that linked to or submitted form data. |
HTTP_USER_AGENT |
The browser the client is currently using to send the request. Format: software/version library/version. |
![]() ![]() ![]() |
AllaireDoc@allaire.com
Copyright © 1998, Allaire Corporation. All rights reserved.