Common Gateway Interface
Das Common Gateway Interface / CGI (dt. etwa "Allgemeine Vermittlungsrechner-Schnittstelle") ist ein Standard für den Datenaustausch zwischen einem Webserver und dritter Software, die Anfragen bearbeitet. CGI ist eine schon länger bestehende Variante, Webseiten dynamisch bzw. interaktiv zu machen.
Ein CGI unterstützender Webserver stellt der externen Software eine Laufzeitumgebung zur Verfügung, die insbesondere aus folgendem besteht:
- Umgebungsvariablen (z. B. "SERVER_NAME"), die dem Programm helfen, sich über die Anfrage, Webserver-Einstellung und -Situation zu informieren. Die Bezeichnungen sowie das Format der Inhalte sind grösstenteils standardisiert.
- Bereitstellung von Ein- und Ausgabekanälen. Meist wird der stdout-Kanal mit der Antwort des Webservers verknüpft, stdin mit dem eventuell vorhandenen Request-Body.