Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Перечислим список переменных окружения, устанавливаемых сервером для запускаемых шлюзов 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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!