Приглашаем посетить
Паустовский (paustovskiy-lit.ru)

Perl, который оценят все.

Немного о CGI

CGI ( Common Gateway Interface) представляет собой общий интерфейс, который используется сервером для обеспечения взаимодействия с любым приложением. CGI-скрипты играют роль связующего звена между приложением и сервером, а сервер, в свою очередь, отвечает за получение информации от броузера и отсылки ему данных. Со стороны CGI-скрипта как серверного процесса все взаимодействие выглядит следующим образом:

  1.  Получение данных от клиента.
  2.  Обработка данных.
  3.  Выдача ответа клиенту.
Прием данных от клиента
Взаимодействие с клиентом обеспечивается так: он заполняет форму своими значениями, нажимает на кнопку submit, броузер кодирует данные соответствующим образом и отправляет их серверу.
Выдача данных клиенту
Обычно клиенту выдают текст в формате HTML (ничто не мешает вам отправить ему и картинку/видео). Для того чтобы сервер и клиент вас поняли, необходимо сказать, что вы выдаете c помощью заголовка Content-Type: mime-type/mime-subtype.
Пример:
print "Content-Type: text/html\n";
# Мы выдаем текст в формате HTML.
# Также можно: text/plain - простой текст,
# в броузере отобразится аналогично тексту,
# заключенному между тегами
# <pre></pre>. image/gif - Картинка, формат gif
# video/mpeg - mpeg-видео. И целая куча других
# форматов, см. файл mime.types из apache
print "\n";
# <- еще одна пустая строка, обозначает
# конец вывода наших заголовков.
# Теперь мы можем написать свой текст клиенту
print qq{
<html>
<head>
<title>Моя первая CGI программа</title>
</head>
<body>
<h1>Моя первая CGI программа</h1>
</body>
</head>
};

"Да, но я только начал изучать Perl", - скажете вы. Не беда! Для того чтобы наладить работу скриптов на вашем сайте, глубокого знания языка программирования не требуется. В Сети лежит просто немереное количество абсолютно бесплатных скриптов на любой вкус: от гостевых книг до сложных баз данных. Все, что вам нужно, хотя бы начальные знания английского языка. Скачать любой скрипт можно с сайта www.cgi-resources.com. Это специализированный каталог, содержащий ссылки на тысячи скриптов на самых разных языках программирования.

Предположим, вы решили использовать скачанный из Сети скрипт. Чтобы он у вас нормально работал, нужно сделать следующее:

В начале скрипта указываются некоторые данные, необходимые для его запуска, например путь к интерпретатору Perl (обычно /usr/local/bin/perl/ или просто /usr/bin/perl/), URL вашего сайта, имя файла, в который будут записываться результаты выполнения скрипта и т. п. Все строки, которые следует заменить, обычно выделены комментариями, так что вы их легко найдете.

Символы, используемые при операциях с файлами
Знак Функция Совместим с Несовместим с
< Открытие для чтения. Если файла нет - возникает ошибка < > и <
> Создание файла для записи. Чтение также возможно > и + <
+ Открытие для чтения/записи > и < Нет
Возможны также следующие комбинации:
Комбинация Функция
<+ Открыть для чтения/записи. При отсутствии файла возникает ошибка
+> Создать файл для чтения/записи. Если файл существует - его содержимое теряется
>> Открыть или создать для дополнения
+>> Открыть или создать для чтения/записи

В зависимости от конфигурации Web-сервера имя скрипта должно иметь определенное расширение и/или он должен находиться в определенном каталоге. Например, имя скрипта должно иметь расширение .cgi, и скрипт должен лежать в каталоге cgi-bin. Проконсультируйтесь у администратора вашего сервера обо всех предъявляемых требованиях.

Поскольку скрипт - это программа, нужно присвоить ему атрибут "исполняемый".

Если скрипт пишет данные в какой-нибудь файл (например, файл гостевой книги), то этот файл должен быть доступен для записи.

Впрочем, пользоваться плодами чужого трудом не всегда полезно, поэтому давайте создадим свой скрипт, посвященный нижеуказанным проблемам.

Назад | Оглавление | Далее