IHO.RU - хостинг для профессионалов и новичков
Хостинг за 8.1 $/месяц 250 Мб, 15 POP3, CGI, 5 поддоменов, 2 домена, PHP, Perl, Parser3, MySQL
Хостинг дла профессионалов и новичков - IHO.RU

IHO.RU - хостинг для профессионалов и новичков
Дешевый хостиинг за 4.5 $/месяц - 50 Мб, POP3, SMTP, SSI, FTP

Что такое CGI?

CGI — это протокол. CGI — это аббревиатура от Common Gateway Interface (общий шлюзовой интерфейс). Данное понятие определяет стандартный способ, которым внешние программы должны взаимодействовать с Web-сервером или другими информационными серверами. Программы, соответствующие этому протоколу, называются CGI-программами. (CGI-программы, созданные на любом языке написания скриптов, называются CGI-скриптами.)

Хотя большинство CGI-программ написано с использованием Perl, применять можно любой язык программирования или написания сценариев, но при условии, что конечным результатом будет исполняемый файл, который может читать и записывать информацию в формате, определенном в протоколе CGI. Вторым по популярности языком програмирования CGI-программ, вероятно является C, а после идут Visual Basic, AppleScript и языки программирования командных процессоров Unix. Для написания CGI-программ используется даже Java.

По своей сути CGI — удивительно простой протокол. Он определяет три основных способа передачи информации с сервера в программу и один способ передачи информации из программы на сервер.

Получение информации с сервера:

В принципе, можно построить полезную CGI-программу, которой не нужно будет ничего знать ни о сервере, ни об обращающемуся к нему пользователе. Тем не менее, имея доступ к такой информации, можно сделать гораздо больше разных интересных вещей. Протокол CGI позволяет осуществить это тремя способами.

Переменные среды:

Переменные среды — это переменные, которые устанавливаются сервером и к которым имеет доступ ваша программа. ( В Perl это делается посредством специального ассоциативного массива (хэша) %ENV.) Эти переменные содержат массу информации о сервере, вашей программе и посетителе. Более полную информацию о переменных среды вы найдете в этой статье.

Стандартный ввод:

Если для передачи данных в программу вы пользуетесь методом POST, то сервер посылает эти данные на стандартный поток ввода вашей программы. (При использовании метода GET данные появляются в переменной среды QUERY_STRING.) Сервер также устанавливает переменные среды CONTENT_TYPE и CONTENT_LENGTH в значения, соответствующие MIME-типу данных (application/x-www-form-urlencoded) и их длинне, выраженной в байтах.

Командная строка:

Информацию также можно передавать в программу в виде аргументов командной строки при выполнении программы. Этот метод используется крайне редко — как правило, только для передачи HTML-запросов ISINDEX.

Передача информации на сервер:

Часть протокола CGI, задающего принцип передачи информации из программы на сервер, который, в свою очередь, передает ее обратно в броузер посетителя, является самой простой. Вы лишь записываете информацию на стандартный вывод, который в Perl обычно реализуется простым оператором print. Единственная дополнительная операция — предварить выходную информацию HTTP-заголовком, который определяет ее тип. В большенстве случаев, если выводится HTML- информация, это можно делать таким Perl-оператором:

print "Content-Type: text/html\n\n"; 

Два символа новой строки в конце заголовка играют важную роль: пустая строка указывает, где заканчивается заголовок и начинается содержимое. Здесь описаны еще несколько типов заголовков, которые могут оказаться полезными в CGI- программировании.



Все вопросы пожелания и замечания направлять на runner @ list.ru