При отправке запроса от браузера, на веб-сервер также пересылается техническая
информация об определенных параметрах браузера и операционной системы. Веб-сервер
в свою очередь одновременно с запрашиваемой информацией возвращает и некоторые
свои параметры. Таким образом, браузер и веб-сервер обмениваются данными, которые
называются переменные окружения. Эти переменные можно применять в своих целях
и отображать их на веб-странице.
При использовании 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 Transitional//EN">
<html>
<body>
Путь к корневой папке сайта: <!--#echo var="DOCUMENT_ROOT"-->
</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, которые выводятся в ячейках таблицы.
Источник: http://www.htmlbook.ru |