Bitte wählen Sie:

Dynamische Webseiten

Wenn man von dynamischen Webseiten spricht, meint man in der Regel nicht, dass sich im Browser viele Objekte ständig bewegen. Es geht nicht um die Animation. Vielmehr beschreibt man mit diesem Begriff, dass hinter der im Browser gezeigten Ansicht nicht nur ein festes HTML-Gerüst liegt, sondern einzelne Elemente in Abhängigkeit vom User, der aktuellen Uhrzeit oder Usereingaben erzeugt werden.

Dynamische Webseiten im Abgrenzung zu statischen Webseiten

Im einfachsten Fall besteht eine einzelne Webseite, ein Webdokument, aus einem Satz von Darstellungsvorschriften und Inhaltselementen, die wie in einer Textdatei einmal erstellt und dann veröffentlicht werden.

Diese Kombination aus Darstellungsvorschrift und Inhalt bewirkt die Ausgabe der Worte "Hallo Welt", wenn die entsprechende Datei, in der dieser Inhalt gespeichert ist, in einem Browser geöffnet wird:

<html>
  <body>

    <p>Hallo Welt</p>

  </body>
</html>

Egal unter welchen Umständen diese Datei geöffnet beziehungsweise abgerufen wird, es erscheint immer die Ausgabe "Hallo Welt" auf dem Bildschirm. Die Begriffe in den eckigen Klammern beschreiben, was zwischen einem öffnenden Element wie <p> und dem dazugehörigen schließenden Element </p> steht.

Das „was“ bezieht sich nicht auf die Bedeutung, sondern darauf, welcher Art der Inhalt ist. Im Beispiel von <p> ist dies ein Textabsatz, englisch Paragraph, daher das „p“. „Hallo Welt“ ist der eigentliche, bedeutsame Inhalt. Ein Browser tut nichts weiter als die Begriffe in den eckigen Klammern zu interpretieren den zwischen öffnenden und schließenden Element stehenden Inhalt auszugeben. Und zwar in der Art und Weise wie dies in einer Styledefinition vorgegeben ist.

Die Seitenbeschreibungssprache HTML verfügt selbst über keine Möglichkeiten, diese Ausgabe wechselnden Bedingungen anzupassen. Der Inhalt und die Ausgabe bleiben - wie man sagt - statisch oder anders ausgedrückt, sie sind unveränderlich und fest.

Will man variable Elemente hinzufügen, muss man zu anderen Methoden greifen und den Umfang der Möglichkeiten von HTML verlassen.

Werden variable, sich inhaltlich ändernde Elemente innerhalb einer HTML-Datei hinzugefügt, hat man kein statisches HTML-Dokument mehr, sondern ein dynamisches. Ein typisches Beispiel ist die Ausgabe der aktuellen Uhrzeit (jeder Server hat eine eingebaute Uhr, die man mit entsprechenden Befehlen auslesen kann).

In diesem Beispiel wird mit einer PHP-Anweisung namens "echo“, die eine Ausgabe veranlasst und der Funktion "date“ mit der Formatierung in Stunden und Minuten die aktuelle Zeit ausgegeben.

<html>
  <body>

    <p>Hallo Welt. Es ist: <?php echo date("H:i"); ?></p>

  </body>
</html>

Mit diesem Befehl wird der Server veranlasst, das aktuelle Datum zu holen und zu zeigen. Wir haben die Ausgabe dynamisiert.

Scriptsprachen für dynamische Webseiten

Dieses sehr einfache Beispiel demonstriert, wie die Ausgabe am Bildschirm durch äußere Umstände beeinflusst werden kann: Je nach aktueller Uhrzeit wird ein anderes Ergebnis ausgegeben. Allerdings benötigt man zur Realisierung eine Scriptsprache wie PHP. Prinzipiell könnten wir auch Perl oder Python verwenden.

Mit solchen Scriptsprachen kann man auch Usereingaben einholen und verarbeiten, speichern und verändern. Zudem lassen sich Informationen in einer Datenbank speichern und daraus abrufen.

Allerdings muss diese Arbeit vom Server erledigt werden, während die Interpretation von HTML-Elementen und die Umwandlung in eine Browseranzeige, das sogenannte Rendering, auf dem Endgerät des Users erledigt wird.

Eine Uhrzeitanzeige ist für einen Server keine große Aufgabe, aber man muss bedenken, dass prinzipiell sehr viele User gleichzeitig diese Datei mit den Scriptbefehlen und -funktionen aufrufen können, so dass der Server dann in Summe doch sehr viel Arbeit bekommt und unter Last gerät. Schließlich kann der Server ja nur im Moment des Abrufs dieser Datei die Befehle ausführen und die HTML-Seite mit den dynamischen Elementen liefern.

Vor- und Nachteile beim Einsatz von serverseitig auszuführenden Scripts

Aktuelle Content Management Systeme wie WordPress, Joomla! oder Drupal bestehen fast ausschließlich aus PHP-Scripts, die allesamt vom Server ausgeführt werden müssen, und zwar in dem Moment, in dem ein User darauf zugreift.

Diese Art der Realisierung eines Webprojekts lässt eine hochgradige Dynamisierung der Inhalte zu. Auf gleiche Weise lassen sich aufwändige Suchfunktionen, Foren oder Onlineshops realisieren.

Der Preis dafür ist, dass solche dynamisch generierten Webseiten, die erst im Moment des Aufrufs erstellt werden, was auf Kosten der Schnelligkeit gehen kann. PHP-Befehle und Datenbankabfragen benötigen eben etwas Zeit, wenn auch nur im Millisekundenbereich, was sich aber je nach Webprojekt auch einmal addieren kann. Erfahrene Webanwender bemerken solche Latenzen durchaus.

Statische Webseiten hingegen werden recht schnell ausgeliefert, denn hier müssen ja nur Daten überragen werden. Bei der Gestaltung eines Webprojekts muss diese Frage abgewogen werden. Eher statische Webseiten lassen sich gut auf geteilten Servern unterbringen, bei vielen PHP-Scripts sollte man zu einem teureren Managed Hosting Angebot greifen, damit die Seiten schnell ausgeliefert werden. Virtuelle Server oder auch dedizierte Server sind dafür eine gute Wahl.