Создание серверных приложений на языке PERL
ba2f5a3f

Встроенные переменные получение данных методом GET



Урок 10. Встроенные переменные, получение данных методом GET

Когда сервер выполняет скрипт, для него создаются некоторые переменные окружения, среди которых как локальные данные (адрес скрипта на сервере, версия П/О сервера), так и данные полученные с HTTP запросом (версия браузера, IP удаленной машины и т.д.) . Знать эти данные для CGI программиста просто жизненно важно. Вот эти переменные:



$ENV{'REQUEST_METHOD'} Это одно из самых главных поле используемое для определения метода запроса HTTP. Протокол HTTP использует методы GET и POST для запроса к серверу. Они отличаются тем что при методе GET запрос является как бы частью URL т.е. http://..../cgi-bin/myscript.cgi?param=value а при методе POST данные передаются в теле HTTP-запроса (при GET тело запроса пусто).
Для нас пока интересен только метод GET.
$ENV{'QUERY_STRING'} Это строка запроса при методе GET.
$ENV{'CONTENT_TYPE'} Тип тела запроса.
$ENV{'REMOTE_ADDR'} IP-Адрес удаленного Хоста, делающего данный запрос.
$ENV{'REMOTE_HOST'} Если запрашивающий Хост имеет доменное имя, то эта переменная содержит его, в противном случае -тот же самый IP-адресс что и REMOTE_ADDR.
$ENV{'SCRIPT_NAME'} Содержит URL адрес файла скрипта.
$ENV{'SCRIPT_FILENAME'} Полный путь к скрипту на сервере.
$ENV{'SERVER_NAME'} Имя серера ,чаще всего доменное как www.microsoft.com ,но в редких случаях за неимением такового может быть IP-адресом.
$ENV{'SERVER_PORT'} TCP-Порт сервера использующийся для соединения .По умолчанию HTTP-порт 80, хотя может быть в некоторых случаях другим.
$ENV{'SERVER_SOFTWARE'} Программное обеспечение сервера.
$ENV{'AUTH_TYPE'}
$ENV{'REMOTE_USER'}
Эти переменные определены в том случае, когда запрошенный ресурс требует аутентификации пользователя.
$ENV{'HTTP_ACCEPT'} Давая запрос на сервер браузер обычно рассчитывает получить информацию определенного формата, и для этого он в заголовке запроса указывает поле Accept:, Отсюда скрипту поступает список тех MIME, которые браузер готов принять в качестве ответа от сервера.
$ENV{'HTTP_USER_AGENT'} Браузер обычно посылает на сервер и информацию о себе, чтоб базируясь на знании особенностей и недостатков конкретных браузеров CGI-скрипт мог выдать информацию с учетом этого. Например, разные браузеры могут поддерживать или не поддерживать какие-то HTML тэги.
$ENV{'CONTENT_LENGTH'} Длина в байтах тела запроса.
$ENV{'GATEWAY_INTERFACE'} Версия протокола CGI.
$ENV{'SERVER_PROTOCOL'} Версия HTTP протокола сервера.



Содержание раздела