CGI-скрипт это исполняемая консольная программа, т.е. с интерфейсом командной строки.
В Windows формата PE, в Linux ELF. Создается путем обычной компиляции и линковки. Чтобы Web-сервер воспринимал её как CGI-скрипт, расширение файла должно быть CGI. В Windows CGI-скрипт можно создать из любой IDE, выбрав тип создаваемого приложения как Console Application и переименовав полученный *.exe файл в *.cgi. В Linux надо сначала поставить компилятор, а потом задать ему команду на создание исполняемого файла из исходного текста. В простейшем случае, если скрипт состоит из одного файла с исходным текстом, для компилятора GCC надо набрать команду: gcc имя_файла.c -o имя_файла.cgi
.
С Web-сервером CGI-скрипт взамодействует через StdIn, StdOut и переменные окружения.При использовании метода GET, сервер передает данные в переменных окружения. При использовании метода POST, сервер передает данные через StdIn. В обоих случаях скрипт отдает результат работы через StdOut. В начале вывода скрипт обязательно должен выдать строку "Content-type: тип_данных\n\n", которая описывает, что будем отдавать: страницу text/html, рисунок, звук и т.п. Иначе сервер не сможет сообщить эту информацию браузеру и серверу придется вывод скрипта проигнорировать, а браузеру ответить "Ошибка 500".
Приведем демонстрацию работы простейшего CGI-скрипта. Данный консольный скрипт ничего не делает, а просто перечисляет все доступные ему параметры. Параметры можно передать сразу и через GET и через POST.
Укажите имя переменной, передаваемой через GET:
Укажитете значение переменной, передаваемой через GET:
Укажите имя переменной, передаваемой через POST:
Посмотреть результат
Исходный текст демо cgi-скрипта на языке C можно скачать кликнув по ссылке.