CGI steht für "Common Gateway Interface". Es ist ein Standard, der es ermöglicht, externe Programme oder Skripte mit einem Webserver zu verbinden, um dynamische Inhalte zu generieren und auf Webanfragen zu reagieren.
Im Kontext von Webentwicklung funktioniert CGI folgendermaßen: Wenn ein Webserver eine Anfrage für eine dynamische Ressource erhält (zum Beispiel eine PHP-, Perl- oder Python-Datei), ruft er das entsprechende CGI-Skript auf. Dieses Skript wird mit den erforderlichen Parametern der Anfrage aufgerufen und führt dann eine spezifische Aufgabe aus, wie das Generieren von HTML, das Abfragen einer Datenbank oder das Ausführen von Berechnungen. Das Ergebnis wird dann an den Webserver zurückgegeben, der es an den Client weiterleitet.
CGI war einer der ersten Mechanismen, der es ermöglichte, dynamische Inhalte auf Webseiten zu integrieren, und es bildete die Grundlage für viele spätere Technologien wie PHP, ASP, JSP und andere. Obwohl es immer noch verwendet wird, sind heutzutage schnellere und effizientere Methoden wie FastCGI und mod_php (für Apache) oder WSGI (für Python) weit verbreitet. Diese Technologien bieten verbesserte Leistung und Skalierbarkeit im Vergleich zu reinem CGI.