-приложения - Компьютерные сети

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

Данные передаются программе:

    - через переменные окружения; - на стандартный вход.

Программа передает данные серверу через стандартный выход. Формат такой же как у HTTP-ответа.

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

Задача веб-сервера - отвечать на запросы клиентов. Сервер анализирует каждый запрос. Если клиенту нужен html-файл (не обязательно html), то сервер просто возвращает содержимое этого файла. А если клиент указывает в запросе на выполняемую программу и посылает в добавок аргументы для этой программы, сервер должен запустить эту программу с указанными аргументами и послать пользователю результат ее выполнения.

CGI определяет стандарты такого запуска программ на сервере: как информация из запроса и данные о сервере передаются программе (что через командную строку, что через переменные окружения) и как программа может возвратить дополнительную информацию о результате (например, его тип) в виде заголовков.

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

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

В веб-сервере Apache, например, такая настройка может производится при помощи общего файла настроек httpd. conf или с помощью файла. htaccess в том каталоге, где содержится этот скрипт. Также Apache позволяет запускать все скрипты, имеющие расширение. cgi.

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




-приложения - Компьютерные сети

Предыдущая | Следующая