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-странице минимальную динамику.

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

Web

Управление индикатором выполнения загрузки в PHP

Web

Как разрешить неоднозначные имена столбцов при получении результатов?

Web

Как определить первую и последнюю итерацию в цикле foreach

Web

Замена диакритических знаков php

×