CGI/Perl

Eine ältere Variante, dynamische Webseiten zur ermöglichen ist unter dem Namen CGI/Perl bekannt und auch noch sehr verbreitet. CGI (Common Gateway Interface) bietet die Möglichkeit, Programme auf dem Webserver von HTML-Seiten aus aufzurufen und stellt damit eine Schnittstelle dar, über die das Webserver-Programm (z. B. Apache) Daten an andere Programme, die auf demselben Server laufen, zu übergeben. Natürlich muss dazu die Webserver-Software CGI unterstützen.

Diese Datenübergabe funktioniert in beide Richtungen: Eine HTML-Seite schickt Daten an den Server mit (vgl. das Modul Variablen in Webseiten), dieser übergibt die Daten über die CGI-Schnittstelle an ein anderes Programm auf dem Server. Dort werden die Daten verarbeitet (Berechnungen angestellt, Datenbankeinträge gemacht, etc.); das Ergebnis wird in Form von (dynamisch erzeugtem) HTML-Code (oder auch eine Fehlermeldung) über die CGI-Schnittstelle an den Webserver zurückgegeben, welcher diesen Code an den Client weiterleitet. Die Scipts oder Programme müssen am Server in einem eigenen Verzeichnis abgelegt werden. Perl-Seiten haben üblicherweise die Endung ".pl".

Solche (aus Sicht der Webserver-Software externe) Programme können Interpreter für beliebige Programmiersprachen sein oder auch kompilierter Code (.EXE-Dateien). Sehr gebräuchlich sind Perl-Interpreter. Deshalb ist diese Technologie meist unter der Bezeichnung "CGI/Perl" zu finden. Durch die Beschränkung der Kommunikation des Webservers nach außen auf die definierte CGI-Schnittstelle ist die Sicherheit hoch. Der Nachteil liegt in der Verarbeitungsgeschwindigkeit.

Module, die für die Durchführung vorausgesetzt werden