12 июля 2020 года    
Воскресенье | 00:37    
Главная
 Новости
Базы данных
Безопасность PC
Всё о компьютерах
Графика и дизайн
Интернет-технологии
Мобильные устройства
Операционные системы
Программирование
Программы
Связь
Сети
 Документация
Статьи
Самоучители
 Общение
Форум







Разделы / Интернет-технологии / CGI

The CGI Specification.

CGI Environment Variables


In order to pass data about the information request from the server to the script, the server uses command line arguments as well as environment variables. These environment variables are set when the server executes the gateway program.


Specification

The following environment variables are not request-specific and are set for all requests:

  • 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 would appear in self-referencing URLs.

  • GATEWAY_INTERFACE

    The revision of the CGI specification to which this server complies. Format: CGI/revision


The following environment variables are specific to the request being fulfilled by the gateway program:

  • SERVER_PROTOCOL

    The name and revision of the information protcol 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", 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.

  • AUTH_TYPE

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

  • 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.


In addition to these, the header lines received from the client, if any, are placed into the environment with the prefix HTTP_ followed by the header name. Any - characters in the header name are changed to _ characters. The server may exclude any headers which it has already processed, such as Authorization, Content-type, and Content-length. If necessary, the server may choose to exclude any or all of these headers if including them would exceed any system environment limits.

An example of this is the HTTP_ACCEPT variable which was defined in CGI/1.0. Another example is the header User-Agent.

  • HTTP_ACCEPT

    The MIME types which the client will accept, as given by HTTP headers. Other protocols may need to get this information from elsewhere. Each item in this list should be separated by commas as per the HTTP spec.

    Format: type/subtype, type/subtype

  • HTTP_USER_AGENT

    The browser the client is using to send the request. General format: software/version library/version.


[Back]Return to the interface specification

CGI - Common Gateway Interface

cgi@ncsa.uiuc.edu
 The CGI Specification.
Лента новостей


2006 (c) Copyright Hardline.ru