Historische Einordnung

Historische Entwicklung

  • Generialized Markup Language (GML)
    In 1960er Jahren bei IBM entwickelt
  • Standard Generialized Markup Language (SGML)
    ISO Standard seit 1986 (ISO8879:1986)
  • HyperText Markup Language (HTML)
    1989 von Tim Berners-Lee am CERN entwickelt
  • eXtensible Markup Language (XML)
    Erste W3C Recommendation 1998, Aktueller Standard 1.0 (Fünfte Ausgabe) von 2008 http://www.w3.org/TR/xml
  • eXtensible HyperText Markup Language (XHTML)
    W3C Recommendation 2000
Tim Berners-Lee
Tim Berners_Lee (Quelle: Wikimedia, Enrique Dans)

HTML als Auszeichnungssprache für Webseiten ist noch keine 25 Jahre alt. Sie wurde 1989 von Tim Berners-Lee am CERN entwickelt und sollte dem Austausch von Informationen zwischen Forschern auf der ganzen Welt mithilfe des Internets dienen. Durch die Möglichkeiten, die Dokumente über Hyperlinks miteinander zu verbinden, entstand ein Netz von Seiten, die sich über unterschiedliche Anbieter und letztendlich über die ganze Welt erstrecken können und somit das WWW bilden.

Tim Berners-Lee entwickelte zu diesem Zweck nicht nur HTML, sondern auch noch das entsprechende Protokoll HTTP, um die HTML-Seiten (und weitere Daten, wie z. B. Bilder) über das Internet übertragen zu können. Für den Entwurf von HTML verwendete Berners-Lee eine bereits vorhandene Technologie zur Definition von Auszeichnungssprachen, nämlich SGML.

SGML

  • SGML wurde für die Erstellung und Verwaltung sehr großer Dokumente entwickelt
  • Keine Sprache, sondern Technologie um Sprachen zu definieren (Metasprache, Inhaltsbeschreibungssprache)
  • Hat einige Eigenschaften, die maschinelle Verarbeitung erschweren (großzügige syntaktische Möglichkeiten)
SGML
SGML

SGML ist als Meta-Sprache dazu gedacht, neue Auszeichnungssprachen für den Dokumentenaustausch zu definierten. Insofern ist SGML also gar keine Sprache im engeren Sinne, sondern ein System um Sprachen zu erstellen. Es wurde 1986 von der ISO} standardisiert (ISO 8879:1986) und stammt historisch von der bei IBM in den 1960er Jahren entwickelten GML ab. Die grundlegende Idee einer Meta-Sprache ist es, sich für einen bestimmten Anwendungszweck eine Sprache zusammenzustellen. Hierbei liegt der Fokus von SGML auf Sprachen für das Erstellen von großen und umfangreichen Dokumenten, z. B. der Dokumentation für eine komplexe technische Anlage. Der große Vorteil von SGML liegt darin, dass die Dokumente als reine Textdokumente vorliegen und somit leicht mit beliebigen Werkzeugen (z. B. Texteditoren) bearbeitet werden können. Die Standardisierung sorgt zusätzlich für Interoperabilität zwischen SGML-Werkzeugen verschiedener Hersteller.

Auszeichnungen im Text werden bei SGML-basierten Sprachen durch spezielle Markierungen (Tags) vorgenommen, die z. B. Zitate kennzeichnen oder Querverweise zu anderen Dokumenten markieren. SGML trifft als Meta-Sprache allerdings keine Aussagen darüber, welche Tags in einem Dokument vorkommen dürfen, sondern legt nur die Art fest, wie man die Tags definieren kann. HTML ist also eine (weitere) Sprache, die mithilfe von SGML definiert wurde und die einen genau festgelegten Satz von Tags besitzt. In der Terminologie von SGML sagt man auch, dass HTML eine SGML-Anwendung ist.

Leider hat SGML einige Eigenschaften, die eine maschinelle Verarbeitung von SGML-Dokumenten erheblich erschweren, so gibt es z. B. eine ganze Reihe von syntaktischen Freiheiten und Abkürzungen, die für menschliche Autoren durchaus angenehm sein können, bei der Verarbeitung durch ein Programm aber eine unnötige Komplexität erzeugen. Die Freiheiten machen auch den SGML-Standard unnötig umfangreich (ca. 500 Seiten) und schwer zu verstehen. Aus diesem Grund hat sich SGML außerhalb von HTML und einigen speziellen Anwendungen in der Industrie nie in breiter Front durchsetzen können.

XML

  • Untermenge von SGML. Lässt alles weg, was maschinelle Verarbeitung erschwert (strengerer Syntax als SGML)
  • Keine Sprache, sondern Technologie um Sprachen zu definieren (Metasprache, Inhaltsbeschreibungssprache)
  • XML-Dokumente sind selbstbeschreibend
XHTML
XHTML

Inspiriert vom Erfolg von HTML und den Schwächen von SGML begann das W3C Ende der 1990er Jahre damit, eine Untermenge von SGML zu definieren die viele der unnötigen Freiheiten aus SGML entfernt aber trotzdem die Möglichkeit bietet beliebige Sprachen zu definieren und damit eine vollwertige Meta-Sprache ist. Diese Anstrengungen mündeten 1998 in die erste W3C-Recommendation zu XML, die aktuell in der Version 1.0 (fünfte Ausgabe) von 2008 vorliegt. Dadurch, dass XML eine Untermenge von SGML ist, konnten die Werkzeuge und Technologien von SGML für XML weiterverwendet werden. Inzwischen hat sich die Situation allerdings insofern geändert, als dass SGML keine Bedeutung mehr hat und ausschließlich XML zum Einsatz kommt.

Wenn es sich bei HTML um eine über SGML definierte Auszeichnungsprache handelt (also eine SGML-Anwendung) und XML eine neue, schlanke Variante von SGML darstellt, so liegt die Idee nahe, HTML noch einmal neu auf Basis von XML anstatt von SGML zu definieren und somit eine neue und saubere HTML-Variante als XML-Anwendung zu definieren. Genau dies hat das W3C 2000 mit der Standardisierung von XHTML, das HTML völlig neu mithilfe von XML definiert hat.

HTML

HyperText Markup Language (HTML)

  • eine (von vielen) Anwendung von SGML
  • Auszeichnungssprache (markup language)
    • markiert und zeichnet Bestandteile eines Dokuments aus
    • Webbrowser setzen Auszeichnung in visuelle Darstellung um
  • Verweise auf andere Dokumente (hypertext)
    • Verknüpfungen (Hyperlinks) zu anderen Dokumenten
    • Verweise auf Stellen im selben Dokument
  • Text-Dateien (kein Binärformat)

Wie bereits erwähnt handelt es sich bei HTML um eine (von vielen) Anwendungen von SGML bzw. bei XHTML um eine (von vielen) Anwendungen von XML. In beiden Fällen spricht man von einer Auszeichnungssprache (markup language), weil bestimmte Bestandteile eines Dokumentes durch spezielle Tags ausgezeichnet werden, wobei das gesamte Dokument in reiner Textform vorliegt. Der Webbrowser, als Anzeigekomponente für die Dokumente, setzt die Auszeichnungen dann in eine visuelle Darstellung um. Die Möglichkeit verschiedene Dokumente miteinander zu verknüpfen (hypertext) oder Verweise zu anderen Stellen desselben Dokuments aufzunehmen ist eine andere Schlüsseleigenschaft von HTML bzw. XHTML. Die Verknüpfungen werden hierbei durch Hyperlinks hergestellt.

Ursprünglich war das Ziel von Tim Berners-Lee mit HTML eine Möglichkeit zu schaffen, Fließtext semantisch zu gliedern (z. B. in Kapitel) und über Hyperlinks zu verknüpfen. Hierbei stand der Inhalt und nicht das Layout im Vordergrund, denn in den ersten Versionen von HTML war das Layout und die Darstellung einzig und allein Sache des Browsers und nicht des Autors der HTML-Seite. Der Benutzer des Browsers konnte z. B. die Schriftart und Größe für die Anzeige frei festlegen; der Autor der Webseite hatte hierauf keinen Einfluss. Zusätzlich konnte man noch Bilder zur Veranschaulichung des Textes einbinden, an Audio oder Video hat man damals – schon wegen der begrenzten Bandbreiten – nicht gedacht.

Für wissenschaftliche Veröffentlichungen war der ursprüngliche Ansatz von HTML sicherlich gut geeignet, für Unternehmenswebseiten oder E-Commerce-Anwendungen aber vollkommen unpassend. Aus diesem Grund setzten sich sehr schnell Erweiterungen durch, die erlauben das Layout und die Darstellung von HTML-Seiten bis in das kleinste Detail zu bestimmen. Zusätzlich hielten interaktive Elemente mit Formularen, JavaScript und Java-Applets Einzug in die Webseiten.

Entwicklungsgeschichte

Standardisierungsgremium W3C www.w3.org

  • Standardisierungsprozess langsamer als Browser
  • inkompatible Erweiterungen der Hersteller
Version Datum Features
HTML 2.0 Nov 95 RFC 1866
HTML 3.2 Mai 96 Tabellen, Datei-Upload, physische Formatierung
HTML 4.0 Jan 98 Frames, CSS, Skript
HTML 4.01 Dez 99 minimale Korrekturen zu HTML 4.0
XHTML 1.0 Jan 00 Recommendation
XHTML 1.1 Nov 10 Recommend. 2nd Ed.
HTML5 Okt 14 Recommendation

Für die Standardisierung von HTML ist das W3C (http://www.w3.org) zuständig, dessen Vorsitzender Tim Berners-Lee ist. Unglücklicherweise wurden viele Erweiterungen zu HTML nicht vom W3C vorgeschlagen und dann standardisiert, sondern von den Browser-Herstellern einfach in ihre Browser eingebaut, wobei jeder Hersteller seine eigenen Vorstellungen realisiert hat. Zusätzlich wurden der HTML-Standard teilweise sehr eigenwillig oder gar nicht in den Browsern umgesetzt, was zu einer ganzen Reihe von Inkompatibilitäten und Problemen geführt hat. Ende der 1990er Jahre war die Entwicklung von ansprechend gestalteten Webseiten ausgesprochen schwierig, weil man auf die Besonderheiten der unterschiedlichen Browser eingehen musste und streckenweise eine Webseite in verschiedenen Versionen für die einzelnen Browser vorhalten musste. Einige Webdesigner haben auch einfach resigniert, ihre Seite nur für einen Browser entwickelt und das berüchtigte „best viewed with …“ auf die Seite geschrieben.

Es ist dem W3C bis heute nicht gelungen, schneller zu sein als die Browser-Hersteller, sondern der Standardisierungsprozess folgt mit erheblichem Abstand auf die realen Implementierungen. Es gelingt dem W3C ohnehin nicht, Dinge gegen den Willen der Browser-Hersteller zu standardisieren, da diese das entsprechende HTML-Feature dann einfach nicht in die Browser aufnehmen.

Besonders offensichtlich wird die Machtsituation zwischen W3C und Browser-Entwicklern beim XHTML-Standard. Der letzte offizielle HTML-Standard ist die Version 4.01 von 1997, danach wollte das W3C auf die modernere XHTML-Schiene umsteigen und neue Features nur noch in XHTML einbauen. Während XHTML 1.0 semantisch noch vollständig identisch mit HTML 4.01 ist und nur die strengere XML-Syntax erfordert, sollte mit XHTML 2.0 der ganz große Wurf erfolgen und Webseiten vollständig mithilfe des XML-Technologie-Stacks gestaltet werden. Da aber XHTML 2.0 drastisch anders war als HTML und damit sowohl die Webseiten-Entwickler, als auch die Browser-Programmierer hätten von Null anfangen müssen, wurde XHTML 2.0 einfach von den Browser-Herstellern ignoriert und in den Browsern nicht implementiert. Ohne Implementierung im Browser ist ein Web-Standard aber wertlos, sodass das W3C irgendwann die XHTML 2.0-Bemühungen eingestellt hat und XHTML nie über die Version 1.0 hinausgekommen ist.

Das Problem am XHTML 2.0-Ausflug des W3C besteht darin, dass nach dem Einstampfen von XHTML 2.0 der letzte gültige Web-Standard HTML 4.01 von 1997 ist; XHTML 1.0 von 2001 hat keine neuen Features geliefert, sondern nur an der Syntax Änderungen vorgenommen. D. h. das World Wide Web basiert auch im Jahre 2012 noch auf einem Standard, der 15 Jahre alt ist und natürlich keine der modernen Entwicklungen enthält.

Die Unfähigkeit des W3C in 15 Jahren einen aktuellen HTML-Standard zu liefern hat dazu geführt, dass die Browser-Hersteller mit der WHATWG ein eigenes Gremium gegründet haben, um HTML weiterzuentwickeln. Die WHATWG arbeitet am Nachfolger von HTML 4.01, der als HTML5 bezeichnet wird. Um sich vom W3C abzuheben, geht die WHATWG bei der Standardisierung von HTML5 anders vor: es wird nicht an einem „großen Wurf“ gearbeitet, sondern der Standard ist ein lebendes Dokument, an dem permanent gearbeitet wird. Daher beantwortet die WHATWG auch die Frage nach dem Fertigstellungstermin von HTML5 mit „2022“, um klarzumachen, dass man nicht gedenkt, den HTML5-Standardisierungsprozess in nächster Zeit abzuschließen.

Das W3C wollte der HTML5-Entwicklung nicht tatenlos zusehen, sondern gründete eine eigene HTML5-Arbeitsgruppe, die sich ebenfalls um die Standardisierung von HTML5 kümmert. Insofern erscheinen viele HTML5-Standardisierungsdokumente sowohl bei der WHATWG als auch beim W3C.

Die erste Webseite von 1992

Erste Webseite: http://www.w3.org/History/19921103-hypertext/hypertext/WWW/TheProject.html
Erste Webseite

Dieselbe Webseite 2022

https://home.cern/
https://home.cern/

Anfänge von HTML

  • Ziel: semantisch gegliederter Fließtext
  • Inhaltsorientiert
  • Kein Layout definiert
    • Layout war Aufgabe des Browsers
    • Benutzer konnte Schriftart und Schriftgröße im Browser wählen
  • Querverweise durch Hyperlinks
  • Adressierung durch URL (Uniform Resource Locator)
  • Tabellen und Formulare
  • Einbetten von Bildern (Audio oder Video nicht vorgesehen)

Aktuelle HTML-Standards

  • Neuer Standard: HTML5 (von 2014)
    • unterstützt HTML und XHTML-Syntax
    • ist „work in progress“
    • viele Erweiterungen im Bereich Multimedia
  • Alter Standard: HTML 4.01 (von 1997)
    • sauberes Konzept für HTML
    • etliche Tags und Attribute sind „deprecated“ (missbilligt)
    • verschiedene Varianten für den Übergang (strict, transitional und frameset)
  • XHTML 1.1 (von 2001) definiert HTML konform zu XML
  • XHMTL 2.0 wurde nie fertiggestellt (eingestampft)

Wie bereits erläutert handelt es sich bei HTML 4.01 um die derzeit (immer noch) aktuelle Version des HTML-Standards, obwohl sie bereits aus dem Jahre 1997 stammt. Da die Grundprinzipien von HTML auch in zukünftigen Versionen unverändert bleiben werden, lohnt es sich, HTML 4.01 detailliert zu betrachten.

Was ist HTML5?

HTML5-Logo
HTML5-Logo
  • Implementierung der Browserhersteller bestimmt die HTML-Praxis (Feature ohne Browserunterstützung sind wertlos)
  • W3C liefert 1997 mit HTML 4.01 den letzten Standard
  • W3C versucht mit XHMTL 2.0 den ganz großen Wurf
  • Browserhersteller wollen XHTML nicht und machen einen Gegenentwurf mit HTML5
  • Browserhersteller ignorieren XHTML, implementieren HTML5-Features und bestimmen damit die HTML-Praxis
  • W3C gibt XHTML auf und eröffnet eigene HTML5-Arbeitsgruppe

Wer standardisiert HTML5?

Um HTML5 kümmern sich zwei Gremien

  • Web Hypertext Application Technology Working Group (WHATWG)
    • Initiator von HTML5
    • Zusammenschluss von Browserherstellern (z. B. Apple, Mozilla, Opera)
    • Orientiert sich stark an den Implementierungen der Browser
    • Seit 2019 für die HTML5-Standards zuständig
  • World Wide Web Consortium (W3C)
    • Ist später auf den HTML5-Zug aufgesprungen
    • Zusammenschluss vieler Organisationen und Einzelpersonen
    • Geleitet von Tim Berners-Lee

HTML5 ist ein lebender Standard

Umfang von HTML5

Mercury999, CC BY-SA 4.0, via Wikimedia Commons
Mercury999, CC BY-SA 4.0, via Wikimedia Commons
  • HTML5-Kern
    • Semantic HTML-Elements
    • XHMTL5
    • Application Cache
    • XML-Embedding
    • Form Widgets and API
    • HTML/DOM Extensions
    • Device Element
    • Canvas 2D
    • Microdata
    • Web Messages
  • Erweitertes HTML5
    • Indexed Databases
    • Web Notifications
    • Web Workers
    • WebGL
    • Selectors API
    • Web Storage
    • SVG
    • File API
    • WebSockets
    • Geolocation
    • Web SQL Databases

Copyright © 2025 Thomas Smits