CGI — это Common Gateway Interface, стандартный шлюзовый интерфейс, определяющий спецификации, по которым осуществляется взаимодействие CGI-скиптов (сценариев) и серверов. Браузеры пользователей непосредственно не взаимодействуют с CGI.
CGI-скрипты, с точки зрения программистов, являются обычными программами. Они могут выполнять системные команды, производить чтение/запись файлов, взаимодействовать с протоколами связи и многое другое. По сложности они бывают самыми разными: от простого сценария в несколько строк до мощных комплексов из десятков программ, взаимодействующих между собой.
С помощью CGI-скриптов Web-сайты из набора статических HTML-страниц превращаются в интерактивные системы: CGI-скрипты позволяют организовать гостевые книги, форумы с обсуждениями, сбор и анализ статистики посещений, голосования, отправку сообщений и многое другое. CGI-программы могут быть написаны на любом языке программирования, который поддерживается Web-сервером; самыми распространенными из них являются Perl, PHP, С и C++.
CGI-скрипты, при всей их полезности, являются потенциальными источниками опасности для Web-сервера. Дело в том, что эти скрипты, как я уже говорил выше, представляют собой полноценные программы, и они могут выполнять на сервере различные системные команды, с их помощью можно взломать защиту сервера, а также производить другие деструктивные действия. Поэтому, в частности, на бесплатных серверах выполнение CGI-скриптов отключают. Коммерческие хостеры эту функцию включают во все свои тарифы, за исключением самых дешевых. В любом случае приобретать тариф без поддержки CGI-скриптов вряд ли стоит: даже если они не требуются владельцу сайта с самого начала, то вскоре все равно понадобятся — без CGI-скриптов серьезный сайт построить невозможно.
Примечание
Примечание
В списках услуг хостинг-провайдеров поддержка CGI-скриптов часто обозначается термином "cgi-bin". Так на Web-серверах традиционно называется каталог, в котором должны храниться и выполняться CGI-скрипты.
Для установки CGI-скриптов на своем сайте вовсе не обязательно уметь их писать. В Интернете доступны тысячи CGI-скриптов, большинство из которых можно использовать совершенно бесплатно. Например, зайдя на мой сайт "Субъективные заметки об интернет-дизайне" (http://www.e-notes.ru), со страницы www.e-notes.ru/guestbook вы можете скачать бесплатный и достаточно продвинутый по возможностям скрипт гостевой книги. Что касается специализированных каталогов CGI-скриптов, то один из самых известных и крупных из них — http://www.cgi-resources.com.