23.6 Serverseitige Programmierung 

Heute gibt es zahlreiche Möglichkeiten, serverseitige Anwendungen zu programmieren. Es gibt mittlerweile unzählig viele Schnittstellen, mit denen dynamische Webseiten auf dem Webserver generiert und gesendet werden. Es existieren dabei zwei Arten von serverseitiger Webprogrammierung: Die eine stützt sich auf kompilierte Objekte, und die andere verwendet das Modell der Skriptsprachen. Der Unterschied zwischen diesen beiden Arten ist einfach, aber trotzdem eindeutig. Skriptsprachen werden auf dem Webserver von einem Interpreter zur Laufzeit analysiert. Kompilierte Objekte liegen auf dem Webserver schon ausführbereit vor und müssen nur noch gestartet werden. Somit laufen Skriptsprachen in der Regel etwas langsamer als kompilierter Code ab.
Das Ziel der serverseitigen Programmierung bleibt allerdings immer dasselbe – dynamisch erzeugter HTML-Code soll in Form einer Webseite in Ihrem Browser ausgegeben werden.
Nun soll auf die CGI-Schnittstelle eingegangen werden. CGI wird häufig als eine Programmiersprache bezeichnet, was es aber nicht ist. CGI ist ein standardisiertes Gateway, das eine Schnittstelle zwischen einem Webserver und dem serverseitigen Code darstellt. Dass CGI immer noch so populär ist, verdankt diese Schnittstelle ihrer Vielsprachigkeit. Sie können praktisch mit jeder Programmiersprache, die etwas ausgeben kann, CGI-Skripte schreiben.
Der einzige Nachteil von CGI ist der Verarbeitungsaufwand eines Skripts, da jede CGI-Anfrage einen separaten Prozess in einem separaten Speicherbereich auf dem Webserver benötigt.
Diesen Nachteil haben die Entwickler von Webservern allerdings nicht auf sich beruhen lassen, und sie haben fleißig an einer Lösung des Problems gearbeitet. Die Entwickler brachten webserverspezifische APIs (Application Programming Interfaces) heraus. Diese APIs waren voll im Webserver integriert und liefen auch in der Regel schneller ab als einfache Skripte. Der Nachteil solcher APIs ist aber, dass diese mit einem Webserver »verschweißt« sind. Sie machen also nur für Webserver Sinn, die auf mehreren Systemen erhältlich sind (z. B. Apache).
Zu solchen Standalone-Skriptsprachen zählen etwa ASP (Active Server Pages), JSP (Java Server Pages), CFML (Cold Fusion Markup Language) und letztendlich die immer populärere (oder schon populärste) Skriptsprache PHP. Aber auch für Perl gibt es Standalone-CGI-Anwendungen wie z. B. mod_perl oder FastCGI.
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.