CGI

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

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

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

CGI считается одним из самых распространённых средств для создания динамических веб-страниц.

#!/usr/bin/python
print("""Content-Type: text/plain
 
Hello, world!""")
Ниже приводится данный сценарий на языке C:
#include 
int main(void) {
  printf("Content-Type: text/plain;charset=us-ascii\n\n");
  printf("Hello, world!\n\n");
  return 0;
}