htmlbook.ru - Для тех, кто делает сайты
Шаг за шагом Графика для Web
Шаг за шагом > SSI по шагам > Переменные окружения

Шаг 3. Переменные окружения

Влад Мержевич

При отправке запроса от браузера, на веб-сервер также пересылается техническая информация об определенных параметрах браузера и операционной системы. Веб-сервер в свою очередь одновременно с запрашиваемой информацией возвращает и некоторые свои параметры. Таким образом, браузер и веб-сервер обмениваются данными, которые называются переменные окружения. Эти переменные можно применять в своих целях и отображать их на веб-странице.

При использовании SSI общий синтаксис вывода определенной переменной окружения будет следующий.

<!--#echo var="переменная"-->

Некоторые переменные с их описанием перечислены в табл. 3.1. Заметьте, что все имена пишутся заглавными символами. Хотя это условие и необязательно, именно такая форма записи является традиционной и устоявшейся.

Табл. 3.1. Список переменных окружения
Переменная Описание
DOCUMENT_ROOT Путь к корневой папке сайта. Для локального веб-сервера значение может принимать вид z:/home/htmlbook.ru/www, а в других случаях зависит от операционной системы сервера и используемого программного обеспечения. Например, значение может быть следующим:
/home/www/htmlbook.ru/htdocs.
GATEWAY_INTERFACE Версия CGI (Common Gateway Interface, общий шлюзовый интерфейс). Значение обычно равно CGI/1.1.
HTTP_ACCEPT Типы файлов, которые способен принять браузер. В качестве значения возвращается список поддерживаемых MIME-типов разделенных запятыми, например: text/xml, application/xml, text/html.
HTTP_CONNECTION Тип соединения браузера с веб-сервером. Так, значение keep-alive означает, что браузер поддерживает постоянное соединение с сервером. При этом в течение одного сеанса соединения разрешено делать несколько запросов. Повторного соединения в таком случае уже не происходит.
HTTP_HOST Доменное имя сайта. Обычно различают имена с префиксом www (www.htmlbook.ru) и без него (htmlbook.ru). Переменная вернет тот адрес сайта, который указан в адресной строке браузера.
HTTP_REFERER Адрес страницы, с которой пользователь перешел на данный сайт, он еще называется реферер.
HTTP_USER_AGENT Идентификатор используемого браузера и операционной системы. В качестве значения возвращается строка, содержащая ключевые слова. Например, следующая строка

Mozilla/5.0 (Windows; U; Windows NT 5.0; ru-RU; rv:1.7.8) Gecko/20050511 Firefox/1.0.4

говорит, что пользователь использует браузер Firefox 1.0.4 под операционной системой Windows 2000 (внутреннее название - Windows NT 5.0).
QUERY_STRING Запрос, который указан в адресной строке после вопросительного знака (?). Обычно пишется в форме «переменная=значение», где переменные разделяются между собой амперсандом (&). Так, при написании адреса http://www.htmlbook.ru/?id=5&slv=34 будет возвращено значение id=5&slv=34.
REMOTE_ADDR IP-адрес посетителя сайта.
REQUEST_METHOD Метод получения данных. По умолчанию применяется метод GET.
REQUEST_URI Адрес запрашиваемого документа. Отсчет ведется от корня сайта, т.е. для полного адреса http://www.htmlbook.ru/1.html вернется значение 1.html.
SERVER_ADDR IP-адрес компьютера, на котором размещается сайт.
SERVER_ADMIN Адрес электронной почты администратора сайта.
SERVER_NAME Имя сервера.
SERVER_PORT Порт, по которому ожидается получение данных на сервер.
SERVER_PROTOCOL Протокол для получения и отправки данных. Значение обычно равно HTTP/1.1.
SERVER_SOFTWARE Программное обеспечение установленное на сервере. Для веб-сервера Apache возвращается номер версии (Apache/1.3.27), а также версия PHP (PHP/4.3.6).

В примере 3.1 показано использование переменных окружения для отображения на веб-странице требуемой информации.

Пример 3.1. Вывод значения переменной DOCUMENT_ROOT

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
  <title>SSI</title>
 </head>
 <body>
  <p>Путь к корневой папке сайта: <!--#echo var="DOCUMENT_ROOT"--></p>
 </body>
</html>

В результате выполнения примера будет выведена следующая строка.

Путь к корневой папке сайта: /home/htmlbook.ru/www

Значения переменных окружения можно посмотреть с помощью программы, написанной на языке программирования Perl (пример 3.2).

Пример 3.2. Вывод переменных окружения

#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "<html>\n<body>\n";
print "<table border=0 cellspacing=10 width=100%>\n";

print "<tr><td align=right valign=top>$a</td><td>$b</td></tr>\n" while ($a,$b) = each %ENV;

print "</table>\n";
print "</body>\n</html>\n";

В цикле while программа «пробегается» по хэшу %ENV и передает ключ и значение переменным $a и $b, которые выводятся в ячейках таблицы.

Статья опубликована: 18.09.2005 Последнее обновление: 19.12.2008
SSI по шагам

Copyright Влад Мержевич, по всем вопросам пишите по адресу: vlad@htmlbook.ru