Webseite
Als Webseite (Wortzusammensetzung aus Web und Seite), Webdokument, Internetseite, Webpage oder kurz Seite wird ein Dokument als Bestandteil einer Website im World Wide Web bezeichnet, das mit einem Browser unter Angabe eines Uniform Resource Locators (URL) abgerufen und von einem Webserver angeboten werden kann. In diesem Zusammenhang wird auch von einer HTML-Seite oder einem HTML-Dokument gesprochen.
Eine besondere Webseite ist die Homepage, die meist die Einstiegsseite einer Website bildet. Die erste Webseite, die beim Start eines Webbrowsers geladen wird, wird im Deutschen als Startseite bezeichnet.
Geschichte
Die erste Webseite wurde am 13. November 1990 von Tim Berners-Lee auf einem NeXT-Rechner verfasst und veröffentlicht – einen Tag, nachdem er gemeinsam mit Robert Cailliau ein neugefasstes Konzept für ein weltweites Hypertext-Projekt veröffentlicht hatte.[1]
Aufbau
Webseiten bestehen zumeist aus strukturiertem Text, in dem Bilder und andere Multimediaelemente eingebunden sein können. Das wesentliche Merkmal von Webseiten ist, dass sie Verweise, sogenannte Hyperlinks, auf andere Webseiten enthalten und gemeinsam den Hypertext bilden. Dabei hat jedes Dokument mindestens eine Adresse (URL), über die es in einem Webbrowser aufgerufen werden kann. Webseiten können statische (feste) oder dynamische Inhalte haben. Dynamische Inhalte werden bei jedem Aufruf neu generiert, vorzugsweise basierend auf dem Ergebnis einer Datenbankanfrage. Zudem können gleiche Inhalte verschiedenartig dargeboten werden, etwa als Druckversion oder Version für den Bildschirm.
Webseiten werden meist aus dem Internet oder einem Intranet geladen, können aber auch auf einem lokalen Speichermedium, zum Beispiel einer Festplatte, abgelegt sein. Die Gesamtheit der Webseiten eines Internetauftritts wird als Website, Webpräsenz, Webauftritt, Internetpräsenz oder umgangssprachlich auch als Homepage bezeichnet.
Rezeption
Webseiten auf einem Bildschirm werden anders wahrgenommen als gedruckte Textseiten. Englische Eye-Tracking-Versuche, bei denen die Augenbewegung des Lesers verfolgt wird, zeigten, dass die meisten Besucher einer Webseite den Text überfliegen (scannen) und dabei mit den Augen zunächst den oberen Rand und dann den linken Rand des Inhaltsbereichs abtasten. Es entsteht ein F-förmiger Bereich, der von den meisten Besuchern angeblickt wird.[2] Besucher, die über eine Suchmaschine auf eine Webseite kommen, halten dort vorzugsweise nach ihrem Suchwort (Schlüsselwort) Ausschau.[3] Aus diesen Tatsachen ergeben sich besondere Anforderungen für den Webtext.
Erstellung
Die Erstellung und Gestaltung von Webseiten wird unter dem Begriff Webdesign zusammengefasst. Basissprache für die Erstellung ist die Auszeichnungssprache HTML, wobei die einheitliche und rationelle Formatierung mehrerer Webseiten durch Formatierungssprachen wie Cascading Style Sheets (CSS) erleichtert werden kann. Vor allem für das Erstellen dynamischer Seiten wurden weitere Sprachen entwickelt, mit deren Hilfe auch komplexe Gefüge aus Webseiten (siehe Website) erstellt werden können.
Dynamische Webseiten
Im Gegensatz zu statischen Webseiten, die technisch ein HTML-Dokument auf dem Webserver darstellen, werden Webseiten häufig auch dynamisch oder aktiv im Moment der Anforderung erzeugt. Das ist dann sinnvoll, wenn eine Webseite sehr aktuelle Informationen wie beispielsweise Börsenkurse oder Wettervorhersagen enthalten soll. In diesem Fall führt der Webserver ein Programm aus, das vorher spezifisch für diese Aufgabe entwickelt wurde. Es trägt die Daten z. B. aus Datenbanken zusammen und erstellt das HTML-Dokument. Dieses wird dann vom Webserver an den Browser übertragen und beim Benutzer angezeigt.
Ein anderer Anwendungsfall ergibt sich aus dem Bedürfnis, auf Eingaben des Benutzers zu reagieren, wie z. B. die Eingabe eines Suchbegriffs in eine Suchmaschine. Die Software der Suchmaschine erstellt anhand des Suchbegriffs eine Liste von passenden Links und erzeugt eine Webseite, die dem Benutzer diese Liste komfortabel darstellt.
Die Möglichkeit, Webseiten dynamisch in Abhängigkeit von Benutzereingaben und Datenbankinhalten zu generieren, machte das Web schnell zu einer universellen Plattform für viele Arten von Anwendungen. Die Vorteile liegen in Unabhängigkeit von Betriebssystemen und anderen Eigenschaften der Clients. Grundvoraussetzungen sind lediglich eine Netzwerkverbindung zum Server und ein Webbrowser.
Zum Generieren von dynamischen Webseiten kommt jedes Programm in Frage, das sich auf dem Serversystem ausführen lässt. Um die Programmierung zu vereinfachen, wurden jedoch Standards wie das Common Gateway Interface (CGI) eingeführt, um Webanwendungen auch unabhängig von der Art des Webservers zu machen. Die Mehrzahl von CGI-Anwendungen wurden und werden in der Programmiersprache Perl geschrieben. Aufgrund des rasant steigenden Bedarfes nach sehr leistungsfähigen Servern zum Betrieb von Web-Anwendungen entwickelten sich Technologien wie PHP, J2EE und .NET.
Da die Inhalte umfangreicher Websites meist von mehreren Personen eingepflegt werden, wird bei solchen Projekten häufig ein Content-Management-System (CMS) eingesetzt. Es drängen mehr und mehr meist PHP- und MySQL-basierte Lösungen in freier Software auf den Markt, die auch für ungeübte Programmierer schnell zu bedienen sind, solange sie eine gewisse Komplexität nicht übersteigen.
Dynamisch generierte statische Webseiten
Mit den Standardisierungen für XML und XSLT hat das W3C im Dezember 2000 einen Weg gewiesen, wie sich auch „echte“ und damit statische HTML-Dokumente auf dynamischem Wege erzeugen lassen, die es an Komplexität mit den Datenbankauszügen eines CMS aufnehmen können oder diese sogar noch übertreffen: einfach gehaltene und auf den Inhalt beschränkte, dabei aber gut strukturierte Ausgangsdaten in XML werden durch einen angepassten XSL-Transformator in valides, komplexes HTML umgesetzt, das dann als statisches Dokument auf dem Webserver abrufbereit vorliegt.
Vorteil ist vor allem die höhere Leistung, weil der Aufwand des Hostrechners, komplexe Webseiten erst auf Anfrage zusammenzustellen, entfällt und der Server daher höhere Besucherzahlen verkraften kann. Weiterer Vorteil ist die größere Flexibilität bei der Gestaltung. Im Gegensatz zu herkömmlichen CMS, wo Datenbankinhalte in vorgefertigte und relativ starre HTML-Schablonen eingefügt werden, bestimmt ein strukturiertes XML-Ausgangsdokument Layout und Benutzerführung des daraus generierten HTML-Dokuments wesentlich mit. Das ermöglicht die laientaugliche Herstellung auch von langen und zusammenhängenden Inhalten per XML-Editor sowie deren Präsentation in leicht rezipierbarer Form, etwa als webgerechtes E-Book, wobei eine einzige „Webseite“ aus etlichen Bildschirmseiten bestehen kann, die per CSS „gefaltet“ sind und sich bequem durchblättern oder per Menünavigation ansteuern lassen. Auch die Gestaltung ganzer Websites als grafische Benutzeroberflächen mit mehreren, parallel bedienbaren Elementen wird so möglich.
Als ein Haupthindernis für eine breite Verwendung dieser wesentlich erweiterten Möglichkeiten bzgl. Darstellung und Datenvorhaltung galt lange der Microsoft Internet Explorer, der als langjähriger Marktführer erst mit der 2009 erschienenen Version 8 auch hinsichtlich CSS ausreichende Standardkonformität bietet.
Trennung von Inhalt, Darstellung und Verhalten
Bei der Implementierung von Webseiten wird ein Technologie-Mix von verschiedenen Techniken eingesetzt. Die Grundtechniken sind hierbei HTML, CSS und oft auch JavaScript. Es existieren verschiedene Möglichkeiten diese Techniken innerhalb eines HTML-Dokuments (Webseite) zu kombinieren. Der JavaScript-Code kann z. B. direkt „inline“ in der HTML-Beschreibung platziert werden. Hierzu kann das „Script“-Tag von HTML verwendet werden. Des Weiteren können über HTML-Eventhandler-Attribute, wie „onclick“ oder „ontouchstart“, direkte Verbindungen mit bestimmten JavaScript-Funktionen gesetzt werden. Bei einem solchen Vorgehen wird Logik für die Beschreibung des Inhalts, der Gestaltung und des Verhaltens gemischt. Durch eine Vermischung können spätere Änderungen am Verhalten nicht vorgenommen werden, ohne ebenfalls Inhalte (HTML) und Darstellung (CSS) zu berücksichtigen. Bei der Trennung kann dies separat angepasst und weiterentwickelt werden. Des Weiteren wird das HTML-Dokument vereinfacht und bleibt frei von längeren JavaScript-Bereichen und CSS-Definition. Folgende Trennung sollte erreicht werden: [4]
- HTML-Content: Das HTML-Dokument sollte lediglich den darzustellenden Inhalt aufbewahren. Die hierzu verwendeten HTML-Tags sollten frei von Eventhandler-Attributen und Inline-JavaScript-Code sein. Styling-Attribute mit CSS-Inhalten sollten zudem nicht im HTML-Markup verwendet werden.
- Visuelle Darstellung: Die visuelle Darstellung des Contents der View sollte in separaten CSS-Dateien definiert werden. Die dort definierten Styles werden von der Rendering-Engine des Webbrowsers beim Aufbau der View angezogen. Die separate Definition der visuellen Darstellung erlaubt zusätzlich eine leichtere Anpassung der Präsentation für verschiedene Ausgabemedien. So kann beispielsweise ein responsives Webdesign umgesetzt werden, welches sich automatisch an die technischen Gegebenheiten des Endgerätes anpasst, wie zum Beispiel die Bildschirmgröße. Die Einbindung der CSS-Datei in dem HTML-Dokument sollte hierbei lediglich über ein „Link“-Tag im Kopfbereich des Dokuments erfolgen. Ältere HTML-Tags für die Anpassungen visueller Darstellungen, wie font oder center, sollen nicht mehr verwendet werden und wurden mit HTML5 als veraltet (eng. „deprecated“) gekennzeichnet.
- Verhalten: Das clientseitige Verhalten einer Webseite und die Registrierung auf Eingabeereignisse sollten allein im JavaScript-Code erfolgen. Dieser Code sollte zudem in separaten JavaScript-Dateien untergebracht sein. Die Einbindung der JavaScript-Datei in das HTML-Dokument erfolgt hierbei ebenfalls mit dem Script-Tag. Allerdings wird mit dem src-Attribut eine externe Datei adressiert. Bei der Einbindung von JavaScript-Dateien in ein HTML-Dokument hat sich zudem die Strategie durchgesetzt, alle Script-Tags am Ende des HTML-Dokuments zu definieren. Grund hierfür ist das Renderingverhalten von Webbrowsern. Sobald der Webbrowser einen Script-Tag findet, wird das Script heruntergeladen und ausgeführt. Erst nach diesem Vorgang wird das eigentliche Rendering des restlichen Inhalts des HTML-Dokuments fortgesetzt. Wenn nun der Kopfbereich des HTML-Dokuments bereits mehrere Scripts definiert, bleibt die Webseite blockiert, bis alle Scripts geladen wurden. Alternativ kann das async- oder defer-Attribut von HTML5 für das Script-Tag verwendet werden. Allerdings dürfen dann die zuladenden Script-Dateien keine Abhängigkeiten aufweisen, da die genaue Reihenfolge des Ladens nicht mehr definiert ist.
Wenn die beschriebene Trennung von Inhalt, Verhalten und Darstellung berücksichtigt wird, sind zudem die verwendeten Techniken für die Implementierung von Webseiten in einzelne Bereiche aufgeteilt. Es kommt zu keiner direkten Vermischung. Durch die strikte Separierung erhöht sich die Wartbarkeit und Anpassbarkeit des Dokuments. Diese Separierung ermöglicht zudem eine leichtere Aufgabenteilung bei der Realisierung eines Webprojektes.
Mobile Webseite
Weblinks
- de.selfhtml.org – HTML-Referenz
Einzelnachweise
- Kopie der ersten Webseite bei w3.org
- Jakob Nielsen (2006): F-Shaped Pattern For Reading Web Content
- Jakob Nielsen (1997): How Users Read On the Web
- Wartbare Javascript-lastige Webanwendungen. Präsentation, 2014. W3L AG. Auf W3L.de (PDF; 716 kB), abgerufen am 6. Dezember 2020.