Урок Переменные окружения CGI

TaLLeR43

Администраторы
81
0
26
Непосредственно перед запуском сценария сервер передает ему некие переменные окружения с информацией. В определенных переменных содержатся некоторые заголовки, но, как уже говорилось, не все (получить все заголовки нельзя). Переменные окружения в языке PHP можно использовать как самые обыкновенные переменные. Переменные окружения делятся на четыре большие группы:

  • Формируемые сервером переменные;
  • Специальные переменные сервера Apache;
  • Переменные HTTP-полей запроса;
  • Переменные SSL-соединения (защищенного соединения).
Рассмотрим первые три группы переменных окружения:

Формируемые сервером переменные:

Переменная окружения
Описание переменной окружения
AUTH_TYPEИспользуется схема аутентификации. Обычно 'BASIC'
CONTENT_LENGTHДлина содержимого, например, text/html
CONTENT_TYPEMIME-тип содержимого, например, text/html
GETAWAY_INTERFACEВерсия CGI, например CGI/1.1
PATH_INFOHTTP-путь к сценарию
PATH_TRANSLATEDПолный путь к сценарию
REMOTE_ADDRIP-адрес запрашиваемого компьютера-клиента
REMOTE_HOSTДоменное имя запрашивающего компьютера (если доступно). Доменное имя определяется web-сервером с помощью службы DNS. Директива HostNameLookups сервера Apache разрешает (или запрещает) преобразование IP-адреса в доменное имя.
REMOTE_PORTПорт, закрепленный за браузером для получения ответа от сервера
REMOTE_USERИмя пользователя, прошедшего аутентификацию
QUERY_STRINGСтрока переданных серверу параметров
SERVER_ADDRIP-адрес сервера
SERVER_NAMEДоменное имя сервера. Определяется директивой ServerName файла конфигурации
SERVER_PORTTCP-порт Web-сервера. Обычно 80
SERVER_PROTOCOLВерсия протокола HTTP. Например, HTTP/1.1
SERVER_SOFTWAREПрограммное обеспечение сервера
SCRIPT_NAMEHTTP-путь к сценарию
SCRIPT_FILENAMEИмя файла сценария в файловой системе сервера (физический путь). Например, /var/www/cgi-bin/script.cgi
Специальные переменные сервера Apache:

Переменная окружения
Описание переменной окружения
DOCUMENT_ROOTФизический путь к корневому www-каталогу сервера. Например, /var/www.html/
SERVER_ADMINАдрес электронной почты администратора сервера
SERVER_SIGNATUREПодпись сервера. Например, "Apache/1.3.3 Server at www.somefirm.com Port 80"
Переменные HTTP-полей запроса:

Переменная окружения
Описание переменной окружения
HTTP_HOSTИмя виртуального хоста, которому адресован запрос
HTTP_USER_AGENTПрограммное обеспечение удаленного пользователя. Обычно данная переменная окружения содержит название и версию браузера
HTTP_ACCEPTСписок поддерживаемых клиентов типов содержимого. В последнее время вместо списка браузеры возвращают значение *.*, что означает "все типы"
HTTP_ACCEPT_LANGUAGEСписок поддерживаемых языков в порядке предпочтения, например, ru, en
HTTP_ACCEPT_ENCODINGСписок поддерживаемых методов сжатия
HTTP_ACCEPT_CHARSETСписок поддерживаемых кодировок
HTTP_CONNECTIONТип соединения. Возможны два варианта:
  • Keep-alive - если после ответа на запрос не нужно разрывать соединение;
  • Close - если нужно закрыть соединение сразу после ответа на запрос.
HTTP_REFERERЗначение поля REFERER. В этом поле браузер передает URL ресурса, который ссылается на наш сервер. Например, если пользователь перешел на сайт со страницы http://www.somehost.com/page.php, то значение поля REFERER будет http://www.somehost.com/page.php.
HTTP_X_FORWARDED_FORЕсли пользователь работает через прокси-сервер, то в этом поле будет IP-адрес компьютера, обратившегося к прокси-серверу. Если данное поле уже содержит значение, то новое значение будет добавлено через запятую.
 
Яндекс.Метрика
Сверху