[Назад] [Содержание]

ПРИЛОЖЕНИЯ

Приложение 1. Переменные окружения сервера

Ниже приведен список основных переменных окружения сервера с краткими описанием назначения.В данном случае сервер Apache 1.2.5 с модулем PHP/FI-2.0.1. Для других веб-серверов (MS IIS, Netscape, NCSA httpd, и т.д.) переменные могут отличаться.

REMOTE_HOST - имя хоста приконнектившегося к серверу. В случае работы через прокси - имя прокси.
Пример: REMOTE_HOST=lom.pvrr.ru

REMOTE_ADDR - IP адрес хоста приконнектившегося к серверу. В случае работы через прокси - IP адрес прокси.
Пример: REMOTE_ADDR=194.87.186.11

REMOTE_PORT - номер порта клиента.
Пример: REMOTE_PORT=3381

HTTP_USER_AGENT - имя/номер версии/и т.д. клиента (браузера). Использование этой переменной иногда приводит в бешенство отдельных пользователей Интернет.:) Но на самом деле очень полезная вещь. Например для автоопределения русских кодировок.
Пример:HTTP_USER_AGENT=Mozilla/4.07 [en] (X11; I; FreeBSD 2.2.6-RELEASE i386)

HTTP_ACCEPT - типы данных, помимо text/html, воспринимаемые клиентом (браузером)
Пример: HTTP_ACCEPT=image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */*

HTTP_ACCEPT_CHARSET - какие чарсеты понимает клиент (браузер).
Пример: HTTP_ACCEPT_CHARSET=iso-8859-1,*,utf-8

HTTP_ACCEPT_LANGUAGE - какие языки воспринимвает клиент (браузер).
Пример: HTTP_ACCEPT_LANGUAGE=nl,nl-BE,ru

* * *

SERVER_NAME - имя сервера соответствующее записи IN A в DNS, или значение переменной ServerName (или похожей) в конфиге сервера.
Пример: SERVER_NAME=arche.pvrr.ru

HTTP_HOST - имя сервера или виртуального хоста, к которому обращается клиент. Значение HTTP_HOST может быть равным значению SERVER_NAME.
Пример: HTTP_HOST=www.pvrr.ru

SERVER_SOFTWARE - какое ПО используется в качестве сервера.
Пример: SERVER_SOFTWARE=Apache/1.2.5 PHP/FI-2.0.1

DOCUMENT_ROOT - путь к "корню" веб-сервера от "корня" файловой системы копьютера, на котором он работает.
Пример: DOCUMENT_ROOT=/usr/local/www/html

HTTP_CONNECTION - тип соединения.
Пример: HTTP_CONNECTION=keep-alive

SERVER_PROTOCOL - протокол, используемый для обмена данными с конкретным клиентом. (спецификацию на протокол HTTP 1.1 можно почитать например тут: ( RFC 2068 ).
Пример: SERVER_PROTOCOL=HTTP/1.0

REQUEST_URI - имя запрашиваемого ресурса/документа, включающее в себя путь от корня веб-сервера. При обращении к корню сервера или каталогу этой переменной присваивается имя каталога или "/" в случае корня сервера.
Пример: REQUEST_URI=/cgi-bin/tralala/script.cgi

DOCUMENT_URI - имя запрашиваемого ресурса/документа, включающее в себя путь от корня веб-сервера. Обычно инициализируется при вызове SSI. В отличие от REQUEST_URI эта переменная, в случае обращения к каталогу или корню сервера получает значение содержащее и имя файла, являющегося Directory Index'ом этого каталога.
Пример: DOCUMENT_URI=/tralala/index.shtml

HTTP_REFERER - полный URL документа, по ссылке с которого вы попали на этот сервер. Эту переменную можно использовать при написании счетчиков.
Пример: HTTP_REFERER=http://lom.pvrr.ru/java/cgi/cgi_1.html

GATEWAY_INTERFACE - название/версия интерфейса, через который сервер работает со скриптом.
Пример: GATEWAY_INTERFACE=CGI/1.1

SCRIPT_FILENAME - имя скрипта, содержащее полный путь от "корня" файловой системы.
Пример:SCRIPT_FILENAME=/usr/local/www/cgi-bin/tralala/script.cgi

SCRIPT_NAME- имя скрипта, содержащее путь от "корня" веб-сервера.
Пример: SCRIPT_NAME=/cgi-bin/tralala/script.cgi

REQUEST_METHOD - метод используемый клиентом для передачи данных серверу. Бывают GET, HEAD, POST, PUT. Про методы GET и POST см. разделы 1.2, 1.3 данного руководства.
Пример: REQUEST_METHOD=GET

QUERY_STRING - этой переменной значение присваивается при передаче данных серверу методом GET (см. Разделы 1.2, 1.3 данного руководства).
Пример: QUERY_STRING=button=on

CONTENT_LENGTH - этой переменной присваивается значение, равное количеству байт, переданных браузером серверу при использовании метода POST. (см. Разделы 1.2, 1.3 данного руководства).
Пример: CONTENT_LENGTH=9

REMOTE_USER - имя пользователя. Передается только если аутентифицируется доступ к CGI скрипту.

PATH_INFO - дополнительная информация о пути, которую передал клиент. То есть скрипт может получать некоторые параметры, содержащие информауцию о некотором "пути" к некоторым данным (например к файлу конфигурации, необходимому для обработки запроса отименно этого клиента). Этот путь "виртуальный" - т.е от "корня веб-сервера". Остальные данные можно передавать как обычно - методом GET или POST. (см. Разделы 1.2, 1.3 данного руководства).
Пример: PATH_INFO=/some/path

PATH_TRANSLATED - то же , что и PATH_INFO, только путь физический - "от корня файловой системы"

REMOTE_IDENT - Если HTTP сервер поддерживает идентификацию согласно RFC 931, то этой переменной присваивается имя пользователя получаемое от сервера.

SERVER_ADMIN - e-mail администратора веб-сервера.
Пример: SERVER_ADMIN=webmaster@www.pvrr.ru

SERVER_PORT - порт, который "слушает" веб-сервер.
Пример: SERVER_PORT=80

* * *

HTTP_X_FORWARDED_FOR - в случае работы через прокси - IP адрес клиента, работаеющего через прокси.
Пример: HTTP_X_FORWARDED_FOR=194.87.186.11

HTTP_VIA - имя, номер порта, версия ПО прокси-сервера.
Пример: HTTP_VIA=1.0 proxy1.pvrr.ru:8080 (Squid/2.1.PATCH1)

HTTP_CACHE_CONTROL - что-то связанное с возрастом документа в кэше прокси сервера:) Врать не буду - не знаю:)
Пример: HTTP_CACHE_CONTROL=max-age=259200


[Назад] [Содержание]

Copyright © 1998-99 Vladimir Schuckovsky
Вопросы, предложения и здоровая критика
приветствуются по адресу: vovcha@pvrr.ru