Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Переменные oкpужения



Перечислим список переменных окружения, устанавливаемых сервером для запускаемых шлюзов CGI, независимо от типа запроса.

SERVER_SOFTWARE - название и версия информационного сервера, который отвечает на запрос и запускает шлюз. Формат переменной таков: имя/версия. Например, эта переменная может иметь такое значение: HTTP/1.1.

SERVER_NAME - имя Web-сервера, представленное либо в виде DNS-имени, либо в виде IP-адреса (это имя должно совпадать с переданным в запросе адресом URL). Эта информация может оказаться полезной для генерации в программе шлюза адресов URL данного сервера. Вот пример значения этой переменной: www.anyserver.com

GATEWAY_INTERFACE - версия спецификации CGI, использованной на момент, когда компилировался сервер. Формат переменной таков: CGI/версия. Вот пример значения этой переменной: CGI/1.1.

Перечисленные выше переменные окружения являются специфичными для разных запросов и заполняются перед запуском CGI-программы шлюза.

А теперь приведем необязательные переменные окружения шлюзов CGI.

SERVKR_PROTOCOL - имя и версия информационного протокола, использованного в полученном запросе. Формат переменной таков: протокол/версия. Например, эта переменная может иметь такое значение: HTTP/1.1

SERVER_PORT - номер порта, на который был послан запрос, например, 80.

REQUEST_METHOD - метод, который был использован для запроса. Для запросов HTTP 1.1 эти методы перечислены в Приложении С.

PATH_INFO - дополнительная информация о пути, которую клиентский браузер поместил в конец адреса URL запроса сценария. Например, если указанный в запросе адрес URL имеет вид http://www.any-site.com/prog/handler.exe/text/dot, то требуемый сценарий называется handler.exe, а в переменную PATH_INFO будет помещено значение " text/dot ". Другими словами, доступ к шлюзу может быть осуществлен по виртуальному пути, за которым следует некоторая дополнительная информация. Эта информация и передается в PATH_INFO.

PATH_TRANSLATED - эта переменная поддерживается лишь отдельными серверами и содержит физический путь к программе-сценарию, полученный преобразованием виртуального пути в адресе URL.запроса. Например, пусть абсолютный физический адрес к корневому каталогу Web-сервера будет /usr/local/etc/httpd/htdocs. Предположим также, что каталог cgi-bin со сценариями находится на первом уровне корневого каталога сервера, т.е. для обращения к нему следует использовать такой виртуальный путь: http://www.anyserver.com/cgi-bin. Тогда адрес URL запроса сценария http://www.anyserver.com/cgi-bin/handler сервер преобразует в такое значение PATH TRANSLATED: /usr/local/etc/httpd/htdocs//cgi-bin/handler т.е. виртуальный адрес превращается в физический путь к программе шлюза, составленного согласно файловой системе сервера.

SCRIPT_NAME - виртуальный путь к шлюзу, который должен выполняться для данного запроса. Это значение можно использовать для получения в программе шлюза адреса URL (с целью, например, отправки его обратно клиентскому браузеру вместе с ответным документом HTML, после чего браузер может применять этот адрес для повторных вызовов шлюза). Вот пример значения этой переменной: /cgi-bin/handler.exe

QUERY_STRING - информация, следующая за символом "? " в адресе URL, переданного в строке HTTP-запроса данного шлюза. Она не должна быть декодирована никоим образом. Вне зависимости от командной строки эта переменная окружения всегда должна быть установлена при наличии соответствующей информации. Например, пусть полученный в запросе адрес URL будет таков: http://www.anysite.com/handler7postat-addresss= [email protected]&subscribe=on Тогда в переменную QUERY_STRING будет помещено такое значение: [email protected]&subscribe=on.

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

REMOTE_ADDR - IP-адрес клиентского компьютера, с которого получен данный запрос. Например: 199.23.155.34.

AUTH_TYPE - если сервер поддерживает идентификацию пользователей и шлюз является защищенным от постороннего доступа, этот специфичный для протокола метод идентификации используется для проверки пользователя. Для доступа по протоколу HTTP 1.1 значения этой переменной определены в документе RFC2616. Переменная может быть равной или так называемой схеме идентификации HTTP (например, " challenge "), или равна NULL.

REMOTE_USER - используется в случае, когда применяется идентификация пользователей (аналогично предыдущему случаю) для хранения имени пользователя.

REMOTE_IDENT - если HTTP-сервер поддерживает идентификацию пользователя согласно спецификации RFC931, то эта переменная будет содержать имя пользователя, полученное от Сервера. Эта информация практически бесполезна, поскольку пользователи могут указать для нее любое значение.

CONTENT_TYPE - для запросов, которые содержат передаваемую на сервер информацию, типа запросов POST и PUT протокола HTTP, здесь содержится MIME-тип этой информации, например, " application/x-www-form-urlenCoded ".

CONTENT_LENGTH - объем данных, которые передает клиент. Если запрос включает информацию, переданную по методу POST, этой переменной присваивается значение, равное числу байтов данных во входном потоке шлюза обработки данных.

НТТР_АССЕРТ - список типов содержимого (MIME-типов), которые может обрабатывать клиентский браузер. Этот список поступает от самого клиентского браузера. Каждый тип содержимого в этом списке должен быть отделен запятой согласно спецификации HTTP. Формат этой переменной таков: тип/подтип, тип/подтип... Вот пример такого списка: image/gif, image/x-xbitmap, image/jpeg

HTTP_USER__AGENT - имя клиентского браузера, пославшего данный запрос. Общий формат переменной таков: программа/версия библиотека/версия. Вот пример значения этой переменной: Netscape/4.6 (win2000)





Дата публикования: 2014-11-04; Прочитано: 311 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...