CGI Definition & Begriffserklärung

Funktionsweise der CGI-Schnittstelle

Sie erhalten anschließend ein Festpreis-Angebot für die Wiederherstellung Ihrer Daten.
Zunächst muss auch der Webserver CGI unterstützen. Er stellt dabei einer Websoftware eine Laufzeitumgebung zur Verfügung, die aus Umgebungsvariablen und Ein- und Ausgabekanälen besteht. Eine Umgebungsvariable stellt beispielsweise den Servernamen dar. Die Variablen helfen dem Anwenderprogramm eine Anfrage an den Webserver zu stellen und dessen Situation darzulegen.
Das Format ist größtenteils standardisiert. Über die Ein- und Ausgabekanäle werden die jeweiligen Datenströme bereitgestellt. So wird über den sogenannten stdout-Kanal eine Anfrage an den Webserver gestellt und mittels stdin der vorhandene Request-Body zurückgeliefert. Der große Vorteil des CGI ist es, HTML-Webseiten dynamisch zu erzeugen.
Früher wurden die meisten Webseiten statisch wiedergegeben, die eine Interaktion mit dem Server nicht einfach machte. Dynamische Webinhalte müssen während der Anfrage noch nicht auf dem Server vorhanden sein. Sie werden über das CGI-Script erst erzeugt. Generell gibt es viele Programmiersprachen, die CGI unterstützen.
Nachteile des CGI
Für jeden CGI-Aufruf muss immer ein neuer Prozess gestartet werden. Daher sind CGI-Ausführungen relativ langsam. Auf vielbesuchten Internetpräsenzen wird CGI heute nicht mehr so oft verwendet. Auch das nachfolgende FastCGI konnte sich nicht durchsetzen. Stattdessen wurden entsprechende Module entwickelt, in denen verschiedene Scriptsprachen verwendet werden und den Interpreter direkt in den Prozess des Webservers einbinden.
So gibt es beispielsweise für den Apache-Webserver die Module mod_per für die Sprache Perl oder mod_python für die Sprache Python. Die Module werden nur einmal beim Starten des Webservers geladen und nicht wie bisher vor jeder einzelnen Anfrage. Eine effiziente Möglichkeit ist auch, die Webprogramme als externe Prozesse zu starten. Diese können dann über FastCGI die jeweiligen Requests des Browsers übergeben. Bei dieser Methode können der Interpreter der Programmiersprache und die Webanwendung selbst die ganze Zeit über geladen sein. Auf diese Weise können Anfragen sehr effektiv bearbeitet werden.
Ist CGI sicher?
Verständlicherweise sind Drittprogramme, also Webanwendungen, die ein Dritter programmiert hat und die auf einem Webserver ausgeführt werden, immer sicherheitsrelevant anzusehen. Von daher muss generell sichergestellt sein, dass ein Programm, welches CGI-Routinen verwendet, nur erlaubte Typen von Programmroutinen ausführt. So darf beispielsweise das Programm nicht unerlaubter Weise Dateien vom Webserver löschen oder kopieren.
Über das Modul suexec schützt sich beispielsweise der Apache-Server vor unerlaubter Ausführung von Cracker-Programmen. Dabei sind die jeweiligen Sicherheitsmechanismen oftmals mehrstufig aufgebaut. Die Sicherheit ist dabei so effizient, dass etliche Administratoren dazu übergegangen sind, auch andere Server-Sprachen über CGI zu starten.
Alternativen zu CGI
Neben CGI werden häufig als serverseitige Technologien FastCGI, Servlet, PHP, ColdFusion, Active Server Pages (ASP) und Server Side Includes (SSI) verwendet. Viele Internetprovider stellen ihren Nutzern entsprechende CGI-Scripte zur Verfügung. Ein beliebtes Script ist beispielsweise der Besuchszähler.
https://www.it-service24.com/lexikon/c/cgi/
Bitte nutzen Sie - falls erforderlich - für Ihr Literaturverzeichnis "o.Verf." und "o.J." zur Deklaration der Internetquelle.