CGI-программы часто написаны на каком-нибудь интерпретируемом языке (PHP, Perl, Bash, Phyton и др.) Также можно написать программу на компилируемом языке, например C, который и будет обрабатывать данные пользователя. Приведем пример CGI-программы на C:
#include // Нужна для инициализации функции rand() #include // Включаем поддержку функций ввода/вывода #include // А это — для поддержки функции rand() // Главная функция. Именно она и запускается при старте сценария. void main(void) { // инициализируем генератор случайных чисел int Num; time_t t; srand(time(&t)); // в Num записывается случайное число от 0 до 9 Num = rand()%10; // далее выводим заголовки ответа. Тип — html-документ printf("Content-type: text/html\n"); // запрет кэширования printf("Pragma: no-cache\n"); // пустой заголовок printf("\n"); // выводим текст документа — его мы увидим в браузере printf(""); printf("
Здравствуйте!
"); printf("Случайное число в диапазоне 0-9: %d",Num); printf(""); }
Теперь мы можем откомпилировать данную программу в исполняемый (двоичный) файл cgi.exe и обращаться к нему, как к CGI-сценарию.
Далее мы, наконец, рассмотрим методы передачи запросов.