„Common Gateway Interface“ – Versionsunterschied

[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
K Kleinigkeiten verbessert
 
Zeile 17:
 
== Vorteile ==
Statt nur statische Seiten von einem Webserver zu laden, die dort als fertige [[Ressource #Informatik|Ressource]] zur Verfügung stehen, ist es mit CGI auch möglich, Webinhalte ([[Hypertext Markup Language|HTML-Seite]]-Seitenn oder -Fragmente, [[Grafik]]en, [[Portable Document Format|PDF]]-Dokumente etc.) dynamisch zu erzeugen. Das bedeutet, dass diese zur Zeit der Anfrage noch nicht auf dem Server existieren müssen, sondern vom CGI-Programm erzeugt werden können. Grundsätzlich können CGI-Programme in einer beliebigen [[Programmiersprache]] geschrieben sein, die das Betriebssystem unterstützt, sofern die zuvor genannten Anforderungen erfüllt werden.<ref name="NCSA" />
 
== Nachteile ==
Zeile 24:
Alternativen, die auf CGI aufbauen, jedoch das [[Bootstrapping (Informatik)|Bootstrapping]] der Prozesse umgehen können, sind z.&nbsp;B. [[FastCGI]], [[Active Server Pages|ASP]], [[PHP]] und [[ColdFusion]].<ref name="Ionos" />
 
Daneben gibt es [[Modul (Software)|Module]], z.&nbsp;B. für den [[Apache HTTP Server|Apache-Webserver]], die den [[Interpreter]] für verschiedene [[ScriptspracheSkriptsprache]]n (z.&nbsp;B. [[mod&#95;perl]] für [[Perl (Programmiersprache)|Perl]], [[mod&#95;python]] für [[Python (Programmiersprache)|Python]] etc.) direkt in den Webserver-Prozess einbinden. Dieser wird so nur einmal beim Start des Webservers geladen, anstatt bei jeder Anfrage neu.
Die Programme weiterhin als externe Prozesse laufen zu lassen, ihnen die Anfragen jedoch per [[FastCGI]] zu übergeben, ist der Lösungsweg, der dem CGI-Prinzip am ehesten treu bleibt. Hierbei kann, anders als bei der o.&nbsp;g. Einbindung als Apache-Modul, nicht nur der Interpreter der Programmiersprache dauerhaft laufen. Auch die Anwendung selbst kann die ganze Zeit geladen bleiben und so die eingehenden Anfragen noch effizienter bearbeiten.