Abschlussprüfung Mediengestalter Winter 2015/2016, Medienproduktion: U12: Dynamische Website (Schwerpunkte Digital/Beratung und Planung)

Was ist eine dynamische Website und was ist der Unterschied zu einer statischen Website? Liegt es daran, dass sich Elemente auf der Webseite bewegen (lassen) wie bei dynamischem HTML oder eher daran, wie die Inhalte der dynamischen Webseiten generiert werden? Diese Fragen will ich in dem vorliegenden Artikel klären..

Definition einer statischen Website

Generierung einer statischen Website

Generierung einer statischen Website

Eine statische Website wurde mit einem (Text- oder WYSIWYG-) Editor und Kenntnissen von HTML, CSS und evtl. Javascript auf dem Rechner des Webdesigners erstellt und als einzelne Dateien im .htm/l Format gespeichert. Diese können sogar dynamisches HTML (DHMTL) enthalten – also das Zusammenspiel von HTML, CSS und Javascript – um Inhalte auf der Webseite zu animieren, Interaktion mit dem User zu bieten oder auch Elemente per Drag-and-Drop neu zu arrangieren.

Fazit: Die Art der Präsentation ist bei einer statischen Website völlig egal. Ob sich auf der Seite etwas animiert darstellt oder Interaktion in gewissem Rahmen mit dem Nutzer möglich ist, hat darauf keinen Einfluss. Es handelt sich weiterhin um eine statische Website!

Wichtig: Sollen Änderungen an der Website vorgenommen werden – egal ob am Layout oder dem Content – muss der Webdesigner erneut Hand anlegen und die Aktualisierungen vornehmen, die Dateien speichern und erneut auf der Server übertragen.

Vorteile und Nachteile einer statischen Website

Vorteile

  • Der Server muss nur nachschauen, ob die aufgerufene Datei auf dem Server vorliegt. Ist dies so, wird sie übertragen, falls dem nicht so ist, wird eine Fehlermeldung ausgegeben (siehe: 404 – Page not found). Die benötigte Rechenleistung dafür beschränkt sich auf ein Minimum.
  • Die Zeit, binnen der die angeforderte Seite vom Client angefordert und an ihn zurückgeliefert wird, beläuft sich demnach auf ein Minimum.
  • Natürlich ist der Server im Optimalfall 24/7/365 live. Also jederzeit angreifbar. Im Falle eines Servers, der ausschließlich statische Websites aufliefert, gibt es vorrangig nur zwei (..)  mögliche Angriffsvektoren: Die Software des Betriebssystems und die des Webservers selbst. Im Vergleich zu den Grundanforderungen an eine dynamischen Website sind dies deutlich weniger.

Nachteile

  • Der Kunde kann die Website nicht ohne Programmierkenntnisse und ggf. zusätzlich nötige Programme (z.B. Dreamweaver, FTP-Client) aktualisieren.
  • Zur Änderung der Daten müssen diese tatsächlich „angefasst“, aktualisiert und erneut auf den Server geladen werden.
  • Individuelle Einstellungen des Users können nicht angepasst werden. Jeder sieht (im Normalfall) das Gleiche. Registrationen auf der Seite, Kommentar- und Suchfunktionen gibt es (im Normalfall) bei einer statischen Website nicht.

Definition einer dynamischen Website

Generierung einer dynamischen Website

Generierung einer dynamischen Website

Dynamische Websites nutzen zusätzlich zwei weitere Technologien:

  1. Eine serverseitige Skript- oder Programmiersprache. Das heißt, dass die Skripte vom Server interpretiert und nur ihre Rückgabewerte (Generiertes HTML/CSS, optimierte Bilder) an den Client geliefert werden. Für die Interaktivität auf der Seite selbst (DHTML), kann natürlich zusätzlich clientseitig Javascript genutzt werden.
  2. Speicherung der Daten in einer Datenbank.
  3. Die serverseitig Skriptsprache steuert dabei die Applikationslogik (Was soll in welchem Layout wie dargestellt werden? Welche Nutzereingaben – z.B. Logindaten – müssen ausgewertet werden?) und bildet die Schnittstelle zwischen Nutzeranforderungen und -eingaben sowie den Daten aus der Datenbank. Die Daten aus der DB werden dabei in „Templates“ (Inhaltsvorlagen) verpackt.
  4. Damit können auch Daten (Bilder / Videos etc.) auf dem Server gespeichert und neu berechnet werden.

Fazit: Auch hier ist die Darstellungsweise irrelevant. Die Dynamik besteht hierbei darin, dass jede Seite bei jedem Aufruf komplett neu berechnet wird. Wird also über das „Backend“ der Anwendung ein neuer Inhalt angelegt, ist er normalerweise auch umgehend für alle Besucher sichtbar.

Vorteile und Nachteile einer dynamischen Website

Vorteile

  • Nach Login am System kann der entsprechend autorisierte Anwender ohne Programmierkenntnisse selbst Inhalte erstellen, ändern oder löschen.
  • Vielerlei Aktionen können durch die Programmlogik automatisiert werden, so z.B. das Versenden von Newsletters, die webgerechte Optimierung von Bilddaten beim Upload, uvm.
  • Durch Speicherung der Daten in der Datenbank ist es auch möglich Userdaten wie z.B. Kommentare, Forenpostings oder auch Bestellungen in einem Shop in der Datenbank abzulegen.
  • Gleichzeitig Fluch wie Segen: Jeglicher Content wird in ein entsprechendes Template gepackt.
    Dadurch kann zwar gewährleistet werden, dass das Layout konsistent bleibt. Weicht ein Wunsch des Anwenders allerdings von den vorliegenden Templates ab, muss dafür ggf. ein neues erstellt werden. Die Flexibilität bei der Erstellung der Website ist also teilweise eingeschränkt oder mit teils nicht unerheblichem Mehraufwand verbunden.
  • .. und viele mehr.

Nachteile

  • Auf dem Server läuft eine Form von Software. Aufgrund der Tatsache, dass Software immer Fehler aufweisen kann und das dynamische System auf einem Server mit Datenbank und serverside Scripting läuft, ist dieses rein theoretisch immer angreifbar. Werden neue Sicherheitslücken bekannt, sollten diese umgehend geschlossen werden.
  • Der initiale Aufwand, bis die Website im gewünschten Layout erscheint, ist ggf. erheblich höher als bei einer statischen Site. Dazu müssen schließlich erst einmal Templates erstellt werden. Für weitere individuelle Layouts müssen dann weitere Templates erstellt werden. Der „normale Anwender“ ist dazu häufig nicht in der Lage.
  • Zusätzlich zu HTML, CSS und Javascript sind grundlegende Kenntnisse in SQL (Datenbankabfragesprache) und einer serverseitigen Skriptsprache (z.B. PHP oder Perl) notwendig.
  • Bei jedem erneuten Seitenaufruf wird der aktuelle Inhalt der Seite immer „on Demand“ zusammengestellt – auch wenn er sich zwischenzeitlich nicht geändert hat. So muss zunächst ermittelt werden, welche Usereingaben interpretiert werden müssen, dazu muss die Datenbank dann mit den darzustellenden Inhalten angefragt werden und die zurückgelieferten Ergebnisse in ein oder mehrere Template/s verpackt werden.
    Dies kostet in vielen Fällen unnötig viel Zeit, da der Server zunächst eine Verbindung zur Datenbank erstellen muss und auch der gesamte Erstellungsprozess damit erheblich rechen- und damit ressourcenintensiver ausfällt.
    Natürlich gibt es auch dafür Lösungen: So kann bei vielen Redaktionssystemen z.B. der Content durchaus als statische Seite gespeichert werden, die dann keinerlei Rechenleistung mehr erfordert. Sollte dies nicht möglich sein, so kann außerdem mit einer Vielzahl anderer Möglichkeiten das Berechnen der Seite beschleunigt werden. Anbei seien nur einige genannt: OpCache, Varnish Cache, MemCache, vorgeschalteter Proxy uvm.
  • uvm.

Weitere Links zum Thema

Thomas A. Reinert
Freelancer, MediaDesign, CEO TARThemes.com bei TAR MediaDesign
Thomas ist (hauptsächlich) Frontend-Entwickler auf Basis von HTML5, CSS3 und jQuery. Nach insgesamt 35 Jahren Programmiererfahrung, 20 davon als Webentwickler und knapp 10 Jahren Wordpress hat er einen guten Einblick in das Backend, die Theme- sowie Plugin-Programmierung und individuelle Anpassungen an die jeweiligen Projektvoraussetzungen. Zusätzlich unterrichtet er als freier Dozent in der Berufsbildung und ist seit 2013 im Prüfungsausschuss der IHK Köln für "Mediengestalter Digital und Print, Fachrichtung Digital" tätig.

Schreibe eine Antwort

Deine E-Mailadresse wird nicht veröffentlicht Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>