Студопедия

КАТЕГОРИИ:


Архитектура-(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)

SCRIPT_NAME - имя скрипта (виртуальное), использованное в запросе. Для получения реального пути на сервере используется переменная SCRIPT_FILENAME




REMOTE_HOST - это, если запрашивающий хост имеет доменное имя, то эта перемен­ная содержит его, в противном случае, это тот же самый IP-адрес, что и REMOTE_ADDR.

GATEWAY_INTERFACE - версия протокола CGI.

Рассмотрим реализацию интерфейса взаимодействия сервера с внешней программой (Common Gateway Interface).

Переменные среды Common Gateway Interface (CGI).

Cервер при запуске CGI-скрипта (внешней программы) формирует среду окружения, в которой скрипт может найти всю доступ­ную информацию о HTTP-соединении и о полученных в запросе параметрах.

Большинство переменных CGI стандартизованы. Рассмотрим стандартные пере­менные CGI-окружения:

REQUEST_METHOD - это одно из самых главных полей, используемое для определе­ния метода запроса HTTP. Как уже было отмечено протокол HTTP использует для запроса к серверу методы GET и POST. Они отличаются тем, что в методе GET запрос является частью URL (например http://www.localhost/myscript.cgi?а=request), а при использовании метода POST данные передаются в теле HTTP-запроса (при GET тело запроса пусто). Соответственно, для CGI: при GET за­прос идет в переменную QUERY_STRING, а при POST подается на стандартный ввод скрипта - STDIN.

Пример: REQUEST_METHOD=GET

QUERY_STRING - эта строка запроса при методе GET. Запрос, отправляемый из формы, кодируется броузером, поскольку не все символы разрешены в URL (некоторые из них имеют специальное назначе­ние). В методе urlencode: все пробелы заменяются в URL на знак «+», а все специальные и непечатаемые символы на последовательность %hh, где hh - шестнадцатеричный код сим­вола. Кроме того, разделителем полей формы является знак &, поэтому при об­работке форм надо производить декодирование.

Пример: QUERY_STRING= name=user+chef&age=20&hobby=games

CONTENT_LENGTH - длина тела запроса в байтах. При методе запроса POST необхо­димо считать со стандартного входа (STDIN) CONTENT_LENGTH - байт, а потом про­изводить их обработку. Обычно методом POST пользуются для передачи форм, содержащих потенциально большие области ввода текста. При этом методе нет никаких ограничений, а при методе GET существуют ограничения на длину URL.

Пример: CONTENT_LENGTH=31

CONTENT_TYPE - тип тела запроса (для форм, кодированных вышеуказанным об­разом, тип определяется как application/x-www- form- urlencoded).

Пример: GATEWAY_INTERFACE=CGI/1.1

REMOTE_ADDR - IP-адрес удаленного хоста, делающего данный запрос.

Пример: REMOTE_ADDR=139.142.24.157

Пример: REMOTE_HOST=idsoftware.com

Пример: SCRIPT_NAME=/cgi/guestbook.cgi

SCRIPT_FILENAME - имя файла скрипта на сервере. Используя эту переменную, вы получаете именно физический путь к файлу.

Пример: SCRIPT_FILENAME=/home/public/cgi/guestbook. cgi

SERVER_NAME - имя сервера, чаще всего доменное (такое как www.microsoft.com), но в редких случаях, за неимением такового оно может быть IP-адресом (типа 157.151.74.254).

Пример: SERVER_NAME=www.tksite.edu

SERVER_PORT - TCP-порт сервера, используемый для соединения. По умолча­нию HTTP-порт имеет номер 80, хотя в некоторых случаях он может быть и другим.

Пример: SERVER_PORT=80

SERVER_PROTOCOL - версия протокола сервера.

Пример: SERVER_ROTOCOL=HTTP/1.1

SERVER_SOFTWARE - программное обеспечение сервера.




Поделиться с друзьями:


Дата добавления: 2014-11-29; Просмотров: 708; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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