ALTE DOCUMENTE
|
|||||||||
Краткая истор& 23523t1920x #1080;я создания и развития протокола CGI
CGI
CGI
HTTP CGI web
CGI HTTP-серверами относятся к 1993 году, когда возникла необходимость обрабатывать формы, заполняемые пользователем и генерировать динамические страницы, выводящие, например, результаты некотор& 23523t1920x #1086;го поиска.
HTML Java
CGI
GET POST HTTP-сервер создает виртуальную среду, в котор& 23523t1920x #1086;й выполняется требуемый файл. Обмен данными осуществляется через стандартный ввод-вывод (тело сообщения) и переменные окружения (HTTP
CGI
Вот неполный список наиболее популярных переменных, в котор& 23523t1920x #1099;х сохраняются значения некотор& 23523t1920x #1099;х полей HTTP
HHTP |
|
|
AUTH_TYPE |
Authorization | |
CONTENT LENGTH |
Content Length | |
CONTENT_TYPE |
Content-Type | |
QUERY STRING | ||
REMOTE_ADDR |
IP |
|
REQUEST_METHOD |
GET POST |
HTTP
Perl print Content type text html n n
В некотор& 23523t1920x #1099;х ситуациях, динамическая страница не генерируется, а всего лишь перенаправляется запрос на другой сервер или ресурс, изменением поля "Location HTTP
Content Length CONTENT LENGTH
fgets(*buffer,getevn("CONTENT_LENGTH"),stdin);
Широко известный скрипт «test-cgi» , является не более чем тривиальным командным файлом для оболочки "sh UNIX), котор& 23523t1920x #1099;й выводит переменные окружения посредством команды «echo
#!/usr/bin/sh
echo Content-type: text/plain
echo
echo SERVER_SOFTWARE = $SERVER_SOFTWARE
echo SERVER_NAME = $SERVER_NAME
echo GATEWAY_INTERFACE = $GATEWAY_INTERFACE
echo SERVER_PROTOCOL = $SERVER_PROTOCOL
echo SERVER_PORT = $SERVER_PORT
echo REQUEST_METHOD = $REQUEST_METHOD
echo HTTP_ACCEPT = "$HTTP_ACCEPT"
echo PATH_INFO = $PATH_INFO
echo PATH_TRANSLATED = $PATH_TRANSLATED
echo SCRIPT_NAME = $SCRIPT_NAME
echo QUERY_STRING = $QUERY_STRING
echo REMOTE_HOST = $REMOTE_HOST
echo REMOTE_ADDR = $REMOTE_ADDR
echo REMOTE_USER = $REMOTE_USER
echo CONTENT_TYPE = $CONTENT_TYPE
echo CONTENT_LENGTH = $CONTENT_LENGTH
SERVER_SOFTWARE = Apache/1.3.12 (Unix) mod_perl/1.22 AuthMySQL Plus/2.20.2 PHP/3.0.14 rus/PL29.4
SERVER_NAME = kpnc.softclub.net
GATEWAY_INTERFACE = CGI/1.1
SERVER_PROTOCOL = HTTP/1.1
SERVER_PORT = 80
REQUEST_METHOD = GET
HTTP_ACCEPT = image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/msword, */*
PATH_INFO =
PATH_TRANSLATED =
SCRIPT_NAME = /cgi-bin/test-cgi
QUERY_STRING = user=kpnc&pass=salt%20mine
REMOTE_HOST = ppp-05.krintel.ru
REMOTE_ADDR = 195.161.41.229
REMOTE_USER =
CONTENT_TYPE =
CONTENT_LENGTH =
CGI CGI
CGI
|