Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

CGI переменные окружения





Запросы команды FORM

Запросы команды FORM обрабатываются таким образом, что каждый параметр, отвечающий за имя поля, оканчивается знаком равенства, а остаток представляет собой значение этого параметра. Если присутствует что либо после имени программы, то эта информация передается в качестве первого параметра, иначе первый параметр будет пуст.

Примеры:

/test-cgi.sh/foo/x/y/z?name1=value1&name2=value2

2. вызывается как:

/.../foo /x/y/z name1=value1 name2=value2

3. http://www.ict.nsc.ru/cgi-bin/test-cgi.sh/foo/x/y/z?name1=value1&name2=value2

/test-cgi.sh/foo?name1=value1&name2=value2

5. вызывается как:

/.../foo name1=value1 name2=value2

6. http://www.ict.nsc.ru/cgi-bin/test-cgi.sh/foo?name1=value1&name2=value2

Cм. также другие примеры обращениия к CGI Script программе).

Следующие переменные окружения не являются специфичными по типу запросов и устанавливаются для всех запросов.

SERVER_SOFTWARE

Название и версия информационного сервера, который отвечает на запрос (и запускает программу CGI Script). Формат: имя/версия.

SERVER_NAME

Имя хоста, на котором запущен WWW сервер, DNS имя, или IP адрес в том виде, в котором он представлен в URL.

GATEWAY_INTERFACE

Версия CGI спецификации на тот момент, когда компилировался сервер. Формат: CGI/версия.

Следующие переменные окружения являются специфичными для разных запросов, и заполняются перед вызовом программы CGI Script:

SERVER_PROTOCOL

Имя и версия информационного протокола, в котором пришел запрос. Формат: протокол/версия.

SERVER_PORT

Номер порта, на который был послан запрос.

REQUEST_METHOD

Метод, который был использован для запроса. Для HTTP, это методы "GET", "HEAD", "POST", и т.д.

PATH_INFO

Дополнительная информация о пути, которую передал клиент. Другими словами, доступ к программе может быть осуществлен по виртуальному пути, за которым следует некоторая дополнительная информация. Эта информация передается в PATH_INFO.



PATH_TRANSLATED

Сервер передает преобразованную версию PATH_INFO, которая включает в себя путь, преобразованный из виртуального в физический.

SCRIPT_NAME

Виртуальный путь к программе, который должен выполняться, используемый для получения URL.

QUERY_STRING

Информация, следующая за ? в URL, к которому относится данная программа. Это информация представляет собой строку запроса. Она не должна быть декодирована никоим образом. Вне зависимости от командной строки эта переменная всегда должна быть установлена при наличии такой информации.

REMOTE_HOST

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

REMOTE_ADDR

IP адрес хоста, производящего запрос.

AUTH_TYPE

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

REMOTE_USER

Используется в ситуациях, аналогичных предыдущему случаю, для хранения имени пользователя.

REMOTE_IDENT

Если HTTP сервер поддерживает идентификацию пользователя согласно RFC 931, то эта переменная будет содержать имя пользователя, полученное от сервера.

CONTENT_TYPE

Для запросов, которые содержат дополнительную добавочную информацию, такие как HTTP POST и PUT, здесь содержится тип данных этой информации.

CONTENT_LENGTH

Длина данных, которую передает клиент.

В дополнение к этим, если запрос содержит дополнительные поля в заголовке запроса, они помещаются в переменные окружения с префиксом HTTP_, за которым следует имя заголовка запроса. Любые символы '-' в заголовке запроса меняются на символы подчеркивания '_' в переменных окружения. Сервер может исключить любые заголовки, которые он уже обработал, такие как Authorization, Content-type, и Content-length. Если необходимо, сервер может исключить любые (или вообще все) дополнительные поля заголовка в случае, когда их включение может привести к превышению предела размера переменных окружения. Примером такой переменной может служить переменная HTTP_ACCEPT, которая была определена в спецификации CGI/1.0. Другим примером может служить заголовок User-Agent.

HTTP_ACCEPT

Список MIME типов, которые клиент может обработать, как задано в HTTP заголовках. Другие протоколы должны получить эту информацию из других мест (если она им необходима). Каждый тип в этом списке должен быть отделен запятой согласно HTTP спецификации. Формат: тип/подтип, тип/подтип.

HTTP_USER_AGENT

Просмотрщик, который использует клиент для посылки запроса. Общий формат: программа/версия библиотека/версия.

Кроме этоих переменных окружения CGI программы взимодействия сервера с клиентом могут использовать свои переменные окружения (см., например, переменные окружения CGI программы ErrorCGI обработки ошибок на сервере.

Поможем в написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой




Дата добавления: 2014-01-07; Просмотров: 444; Нарушение авторских прав?;


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



ПОИСК ПО САЙТУ:


Читайте также:
studopedia.su - Студопедия (2013 - 2022) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.022 сек.