Common Gateway Interface (CGI)

Was ist Common Gateway Interface (CGI)?
Common Gateway Interface (CGI) ist im Kontext der Web-Entwicklung eine Schnittstelle zum Ausführen von ausführbaren Dateien über einen Web-Server. In den meisten Fällen bedeutet dies, dass eine HTTP-Anforderung an eine Anwendung übergeben wird, um eine dynamisch generierte HTML-Seite an einen Browser zurückzugeben. Während fast jedes Programm, das auf einem Webserver ausgeführt werden kann, als CGI-Skript verwendet werden kann, ist Perl die beliebteste Sprache.

Der Standard für CGI ist in RFC 3875 definiert.

In den frühen Tagen der Web-Entwicklung war CGI eine der wenigen Möglichkeiten, Interaktivität in einer Web-Anwendung bereitzustellen. Es war am häufigsten auf Apache, aber Ports wurden gemacht, um CGI auf IIS auch laufen zu lassen.

Die gebräuchlichste Verwendung von CGI ist die Verwendung von Skriptsprachen. Daher wird es häufig als CGI-Skript bezeichnet. CGI-Programme und Skripte werden normalerweise in einem Ordner namens / cgi-bin / gesammelt.

Der Hauptnachteil von CGI besteht darin, dass jede Seitenladung Overhead verursacht, indem die Programme in den Speicher geladen werden müssen. Daten können nicht einfach zwischen den Seitenladungen zwischengespeichert werden. Aufgrund dieses Nachteils sind viele Entwickler zu Anwendungsservern gewechselt, die weiterhin ausgeführt werden. Es gibt jedoch eine große bestehende Codebasis, von der viele in Perl enthalten sind. Befürworter von CGI argumentieren, dass es einfach, stabil und eine gute Wahl für bestimmte Anwendungen ist, insbesondere für Aufgaben, bei denen Perl überragend ist, wie zum Beispiel die Textverarbeitung. Problemumgehungen vermeiden auch das Laden in der Perl- oder PHP-Laufzeit für jede Anfrage, indem die Laufzeit auf dem Webserver (mod_perl und mod_php in Apache) oder andere Lösungen wie FastCGI (separate Prozesse, die mehrere Anfragen verarbeiten) eingeschlossen werden.


War die Erklärung zu "Common Gateway Interface (CGI)" hilfreich? Jetzt bewerten:

Weitere Erklärungen zu