# Appendix A: CGI Environment Variables

The information in this table was extracted from http://hoohoo.ncsa.uiuc.edu/cgi/env.html and formatted to match the this documentation set.

This tables list the variables most commonly used with the Empress Toolkit, the complete list can be found at the URL specified above.

Variable | Description
SERVER_NAME | The server's hostname, DNS alias, or IP address as it would appear in self-referencing URLs.
REQUEST_METHOD | The method with which the request was made. For HTTP, this is "GET", "HEAD", "POST", etc.
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.
SCRIPT_NAME | A virtual path to the script being executed, used for self-referencing URLs.
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_HOST | The hostname making the request. If the server does not have this information, it should set REMOTE_ADDR and leave this unset.
REMOTE_ADDR | The IP address of the remote host making the request.
REMOTE_USER | If the server supports user authentication, and the script is protected, this is the username they have authenticated as.
REMOTE_IDENT | 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.
CONTENT_TYPE | For queries which have attached information, such as HTTP POST and PUT, this is the content type of the data.
CONTENT_LENGTH | The length of the said content as given by the client.