CGI Common Gateway Interface
В CGI имеет смысл выделить следующие основные моменты: понятие CGI-скрипта; типы запросов; механизмы приема данных скриптом; механизм генерации отклика скриптом.
Понятие CGI-скрипта CGI-скриптом называют программу, написанную на любом языке программирования или командном языке, которая осуществляет обмен данными с HTTP-сервером в соответствии со спецификацией Common Gateway Interface.
Типы запросов Различают два типа запросов к CGI-скриптам: по методу GET и по методу POST.
Метод GET Подразделяется на запросы по типам кодирования: isindex и form- urlencoded Запрос типа ISINDEX это запрос вида: cgi-script?слово1+слово2+слово3
Запрос типа form-urlencoded это запрос вида: cgi-script?field=word1&field2=word2
Механизмы приема данных скриптом Скрипт может принять данные от сервера тремя способами: через переменные окружения; через аргументы командной строки; через поток стандартного ввода.
Переменные окружения В спецификации CGI определены 22 переменные окружения. SERVER_SOFTWARE, SERVER_NAME, GATEWAY_INTERFACE QUERY_STRING CONTENT_TYPE CONTENT_LENGTH и другие.
Аргументы командной строки Аргументы командной строки появляются только в запросах типа ISINDEX. Получить доступ к содержанию командной строки скрипта можно с помощью тех же функций, что и при вызове его из-под интерактивной оболочки:
#Perl foreach $a print $a,"\n"; } // C void main(argc,argv) int argc; char *argv[]; { int i; for(i=0;i
Поток стандартного ввода Ввод данных в скрипт через поток стандартного ввода осуществляется только при использовании метода доступа к ресурсу (скрипту) POST.
Механизм генерации отклика скриптом Скрипт осуществляет свой вывод в стандартный поток вывода. Этот вывод может представлять собой или документ, сгенерированный скриптом, или инструкции серверу, где получить необходимый документ.
Примеры: --- начало вывода --- Content-type: text/html --- конец вывода начало вывода --- Location: /path/doc.txt --- конец вывода ---
--- начало вывода --- Location: gopher://gopher.ncsa.uiuc.edu/ --- конец вывода ---