Web

Что такое CGI-скрипт, где он располагается, что позволяет менять CGI-параметр

Lorem ipsum dolor

CGI-скрипт – это довольно распространенное явление в веб-разработке, особенно в  тех случаях, когда нужно создать интерактивные веб-страницы или реализовать способы для регистрации пользователей  и комментировании контента сайта. В общем, когда нужна обработка и сбор информации или придать небольшую динамику статическим элементам страницы, тогда используются CGI-скрипты.

CGI – это не язык программирования, а стандарт по которому передается информация между внешней программой и ее серверной частью. По сути, CGI предлагает простой инструмент, который налаживает контакт между сервером и приложением и позволяет внутри приложения реализовать консоль для ввода какой-либо информации.

CGI – это интерфейс

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

Чтобы понять, где располагается CGI-скрипт в функционирующей цепочке «программное обеспечение  и его сервер», нужно взглянуть на такую последовательность действий:

  1.  Браузер отправляет HTTP-запрос  серверной части веб-страницы.

  2. Сервер, как только получает запрос,сразу активирует исполнение определенного CGI-скрипта. То есть, сервер активирует небольшую программку, которая сможет выполнить какие-то манипуляции с информацией в базе данных или еще что-либо, главное чтобы решить проблему запроса браузера.

  3. После того, как CGI-скрипт заканчивает свое исполнение, он возвращает серверу полученный результат. А результат – это и есть ответ на запрос, отправленный браузером.

  4. Сервер получает от CGI-скрипта результат и отправляет его в качестве ответа браузеру.

CGI-скрипт не ограничен в своей функциональности и может исполнить на сервере задачу любой сложности, вплоть до того, что может самостоятельно обращаться к другим сторонним программам, если это необходимо серверу.

Как создать CGI

Не существует строгой регламентации по созданию и использованию CGI, поэтому довольно часто, когда говорят CGI, тогда подразумевают не интерфейс, а именно программу или скрипт. И в этом есть свой смысл, потому что CGI можно создать несколькими способами, а не одним каким-то инструментом. Например:

  1.  Когда говорят «CGI-программа», тогда это действительно является программой, написанной на каком-то языке программирования, например на: C, C++, Pascal, Delphi, Java, Python, Node.js и др.

  2.  Когда говорят «CGI-скрипт», тогда это действительно может быть скриптом, написанным для какого-нибудь интерпретатора, например для: shell, perl, command.com, tcl/tk и др.

По сути не важно на чем писать CGI. Самое важное, чтобы CGI-интерфейс отвечал трем основным требованиям:

  1.  Мог считывать стандартный поток ввода – stdin.

  2.  Мог заполучить значение переменной окружения 0 environment variables.

  3.  Мог выводить значения в стандартный поток вывода – stdout.

Так как, создание  CGI особо не регламентируется, возникает одна проблема – такие интерфейсы не кроссплатфоменны и не переносимы. То есть, CGI  создается под конкретные условия: определенную операционную систему, определенным языком и специально для какой-то программы.

Заключение

CGI – это не язык программирования и не какой-то специализированный софт. По CGI-интерфейсом может скрываться любая серверная программа, написанная на любом серверном языке программирования.

В ту эпоху, когда JavaScript еще не было, CGI-интерфейс был единственным инструментом, с помощью которого можно было наладить взаимосвязь с пользователем и придать статической HTML-странице минимальную динамику.

Схожие статьи

Валидный e-mail: что это, проверка почты на валидность через валидатор
Web

Валидный e-mail: что это, проверка почты на валидность через валидатор

Web

Как вставить карту на сайт HTML, как сделать это просто по шагам

Web

Получение значений флажков при отправке формы

Web

Использование файла .php для создания дампа MySQL