Common Gateway Interface

Common Gateway Interface (zkráceně CGI) je protokol pro propojení externích aplikací s webovým serverem. To serveru umožňuje delegovat požadavek od klienta na externí aplikaci, která dle požadavku vrátí výstup. Taková aplikace typicky zpracuje nějaký skript ve webové stránce a webovému serveru navrátí statickou stránku, která je následně poslána klientovi jako výstup jeho požadavku.

Rozhraní Common Gateway Interface bylo v prostředí internetu přítomno již od počátku 90. let a ve své době představovalo jediný způsob dynamického zpracování obsahu. Postupně vznikla efektivnější řešení (FastCGI, integrace skriptovacích jazyků jako modulu WWW serveru) a CGI bylo vytlačeno do ústraní.

Další informace

Webový server, který podporuje rozhraní CGI lze nakonfigurovat pro interpretaci adresy URL, která odkazuje na CGI skripty. Standardně se cgi-bin adresáře ukládají v kořenovém adresáři stromové struktury a se všemi takto uloženými soubory se nakládá jako s CGI skripty. Další populární úmluva je rozpoznávání pomocí přípony; například pokud je u CGI skriptů použita přípona .cgi, může být webový server nakonfigurován tak, aby interpretoval všechny tyto soubory jako CGI skripty.

V případě použití HTTP PUT nebo POST metod, jsou uživatelská data předána v rámci programu přes standardní vstup. V každém případě se podle standardu CGI data předávají do aplikace pomocí některých specifických proměnných prostředí. Toto je v kontrastu s typickým provedením, kde argumenty příkazové řádky jsou používány a prostředí je v nepřetržitém běhu a nedá se mu věřit. Webový server vytváří malé a účinné podmnožiny proměnných prostředí jemu předaných a přidává detaily vztahující se k vykonání programu.

Jiné Jazyky