Kapitel 1

Geschichte der dynamischen Webprogrammierung

Bereits 1993 wurde im sogenannten HTML+ Standart die Möglichkeit gegeben, Formulare zu nutzen, nachdem schon zwei Jahre früher Parameter über die URL übergeben werden konnten. Der Formular-Standart wurde erstmals ab Dezember 1993 vom NCSA Mosaic 2.0 Webbrowser unterstützt, welcher damals die größte Verbreitung hatte. Als Schnittstelle zum Empfang wurde am 4. November desselben Jahres "htbin" veröffentlicht, ein Teil des W3C-HTTP-Servers. Am 11. Februar des Folgejahres wurde in einer neuen Version des Servers die CGI-Schnittstelle eingeführt, die bis heute verwendet wird. Die ersten Anwendungen wurden in C und Perl geschrieben, da CGI Programmiersprachenunabhängig ist.

Die erste weithin bekannte Webanwendung, die auf CGI basierte, war das noch heute erfolgreiche Yahoo!-Internetportal, welches von zwei Studenten auf der Stanford-Universität entwickelt wurde. CGI wurde daraufhin stetig verbessert und erreichte 1997 durch die von Sun Microsystems entwickelten Serverlets einen Aufschwung, da die Performance deutlich gesteigert wurde. Zu dieser Zeit entstand auch PHP, dass einige Probleme löste, die CGI und Co. boten, da sie nicht direkt in den HTML-Quelltest eingebunden waren.

Zur Zeit der Jahrtausendwende wurden dann viele auf diesen Techniken basierenden Webseiten geschaffen. Portale wie eBay, Google und Co. sind "Kinder" dieser Entwicklung.

Sinn und Zweck von PHP

Der Sinn und Zweck von PHP ist recht einfach erklärt. Es bestand das Problem, dass man nicht wusste, wie man Seiteninhalte dynamisch erzeugen könnte. PHP erfüllt den Zweck, dass es anhand verschiedener Parameter bzw. alleine durch Programmierung in Echtzeit die Webseite für den Benutzer individuell gestalten kann. Somit war es nicht nur möglich Foren und Gästebücher zu gestalten, sondern komplett dynamische Webseiten, Onlinekaufhäuser und vieles mehr zu erstellen.

PHP bietet natürlich noch viele weitere Vorzüge. So lassen sich große Seiten auf mehrere Dokumente auslagern und automatisch zusammenfügen. Außerdem ist es möglich mit dem Nutzer zu interagieren und von Ihm gegebene Informationen ohne großen Aufwand in Datenbanken abzulegen oder in einer sonstigen Weise zu verarbeiten. Es ist beispielsweise auch möglich verschiedene Seitenteile in unterschiedliche Dateien zu verpacken. Diese Teile werden dann beim Aufruf in die Seite eingebaut. Dies hat unter anderem den Vorteil, dass man bei einer Änderung z.B. in der Fußzeile nicht jede Unterseite seperat anpassen muss, sondern alle Seiten auf einen Schlag ändern kann.

Grundsätzlich geht es also darum, dass Seiten nun nicht mehr einmal vom Autor gefertigt werden und dann so bleiben müssen, sondern sie lassen sich leicht anpassen und können dynamische oder externe Informationen enthalten.

Dynamische Webprogrammierung: client- oder serverseitig?

Als Webdesigner muss man sich immer wieder die Frage stellen, ob es denn wirklich nötig ist, eine PHP-Seite zu entwerfen. Kleinere Problemstellungen lassen sich auch direkt über den Browser in Form von Java-Script oder ähnlichen Verfahren schneller und besser lösen. Jedoch gibt es auch Aufgaben für die clientseitige Verfahren den Serverseitigen unterlegen sind oder sich als völlig Nutzloß erweisen. Jedoch gibt es im Umkehrschluss auch Dinge, die die serverseitige Technik nicht zu leisten vermag.

Die clientseitige Lösung bietet sich vor allen Dingen dann an, wenn die Website auf Aktionen vom Nutzer unverzüglich reagieren soll. Ein Beispiel wäre z.B. das alte Treiber-Downloadcenter von nVidia. Dort befinden sich nebeneinander drei Listen. Zu Beginn sind die letzten Beiden leer. In der ersten Liste befindet sich eine Auswahl an Geräteklassen. Sobald nun Eine gewählt wurde, erscheint automatisch im zweiten Kasten eine Liste aller Geräte der Klasse. Wenn nun hier wiederum ein Gerät gewählt wurde, erscheinen im letzten Kasten alle Betreibssysteme für die Treiber verfügbar sind. Hat man seine Wahl getroffen, wird man automatisch zum richtigen Download weitergeleitet.

Dies ist ein ausgezeichnetes Beispiel, bei der eine Clientseitige Lösung die Beste ist. Dazu werden vorher sämtliche Möglichkeiten an den Client übermittelt und je nach Auswahl zeigt das Script dann nur die Liste an, die benötigt wird.

Schlecht geeignet ist Javascript wenn es darum geht, irgendwelche Texte dynamisch zu laden, wie dies z.B. in Foren, Blogs oder allgemein in allen CMSs gemacht wird.