CGI – набор соглашений, интрефейс, который должен выполняться для связи веб-сервера и внешней программы (скрипта), написанной на любом языке.
Основной задачей CGI является обеспечение формирования динамических веб-страниц.
Интерфейс CGI выполняет функции шлюза между программами, установленными на веб-сервере, и браузерами пользователей. Когда пользователь через браузер запрашивает определенный ресурс, сервер запускает программу, которая формирует нужный результат и передаёт его в браузер.
Примером может служить необходимость отображения страницы, которая должна содержать данные, введенные пользователем. Естественно, она не может быть сформирована заранее. Именно выполнение CGI-программы обеспечивает получение необходимого результата. При этом на основе IP-адреса пользователя может быть определена его национальная принадлежность, и документ будет сформирован на нужном языке.
Правильно называть CGI шлюзом, но часто говорят «CGI-программа» или «CGI-скрипт». Обычно скрипты находятся в каталоге cgi (cgi-bin) веб-сервера, но при специальной настройке это положение может быть изменено.
Для развития, усовершенствования CGI создано множество средств, среди которых назовем только SCGI, PCGI, FastCGI.