Как работает CGI-скрипт? Я, конечно, могу
процитировать какое-нибудь техническое
руководство, но пользы от этого будет мало.
Поэтому расскажу, как все происходит, своими
словами. Итак, посетитель вашей страницы
заполняет поля формы, например, для записи в
гостевую книгу. После этого он нажимает кнопку
"Submit", которая и запускает cgi-скрипт. Скрипт
выполняет запрограммированные действия - в
данном случае считывает данные из формы и пишет
их в файл гостевой книги - и посылает в броузер
посетителя обычный HTML-код, например, сообщение
"Спасибо, что вы оставили запись в гостевой
книге".
Преимуществ CGI-скриптов перед JavaScript и Java на мой
взгляд, три, и они весьма значительны:
- так как программа выполняется сервером, нет
никакого значения, какой у посетителя броузер -
древний Lynx или новейший Internet Explorer. Нет никаких
глюков и сообщений об ошибках;
- cgi-скрипты позволяют реализовать гораздо более
широкий набор функций;
- код cgi-скрипта закрыт для конкурентов :-)
На каком же языке может быть написана
CGI-программа? Ответ вас приятно удивит:
практически на любом. Главное, чтобы сервер мог
выполнить эту программу, то есть на сервере
должен быть установлен компилятор или
интерпертатор соответствующего языка
программирования. Для систем на базе Unix это
обычно C/С++, Perl, Shell; для серверов под управлением
Windows NT - те же Perl, С/С++ и любая Windows-система
программирования, поддерживающая написание
cgi-приложений, например, Visual Basic или Delphi.
Лично я предпочитаю язык Perl. Он является
интерпретируемым, то есть программы на Perl не
требуют компиляции. Это очень удобно: вы
отлаживаете программу на своей домашней машине
(где, к примеру, установлена Windows), а затем просто
копируете ее на сервер (где, скорее всего,
установлен один из клонов Unix - FreeBSD, Linux, Sun Solaris, HP-UX
и т.п.). При смене провайдера проблем с переносом
скриптов также не будет.
Если же вы решите использовать компилятор,
например, C/C++, то вам нужно будет компилировать
исходный текст программы на сервере, для чего
необходим telnet-доступ к серверу, который
провайдеры давать очень не любят.
"Да, но я не знаю Perl" - скажете вы. Ха! Для
того, чтобы наладить работу скриптов на вашем
сайте, знания языка программирования особенно не
нужно. В Сети лежит просто немеренное количество
абсолютно бесплатных скриптов на любой вкус - от
гостевых книг до сложных баз данных. Все, что вам
нужно - хотя бы начальные знания английского
языка. Скачать любой скрипт можно с сайта CGI-Resources.Com. Это
специализированный каталог, содержащий ссылки
на тысячи скриптов на самых разных языках
программирования.
Предположим, вы решили использовать скачанный
из Сети скрипт. Чтобы он у вас нормально работал,
нужно сделать следующее:
- в начале скрипта вам нужно будет указать
некоторые данные, необходимые для запуска
скрипта, например, путь к интерпретатору Perl
(обычно /usr/local/bin/perl/ или просто /usr/bin/perl/),
URL вашего сайта, имя файла, в который будут
записываться результаты выполнения скрипта и
т.п. Все строки, которые нужно заменить, обычно
выделены комментариями, так что вы их легко
найдете
- В зависимости от конфигурации Web-сервера, имя
скрипта должно иметь определенное расширение
и/или скрипт должен находиться в определенном
каталоге. Например, имя скрипта должно иметь
расширение .cgi и скрипт должен лежать в каталоге
cgi-bin. Проконсультируйтесь у администратора
вашего сервера о требованиях, предъявляемых к
скриптам.
- Так как скрипт - это программа, нужно присвоить
ему атрибут "исполняемый".
- Если скрипт пишет данные в какой-нибудь файл
(например, файл гостевой книги), то этот файл
должен быть доступен для записи.
Статья Станислава Жаркова
Pro.Net.ru
Если у Вас не коммерческий
проект, что и подразумевается для начинающнго
вебмастера, то Вы можете воспользвоваться
бесплатным CGI-хостингом. То есть, получить быстро
и бесплатно гостевые книги, доски объявлений,
чаты и прочее...