Prolog und Head

Klippstein IT Service

Aus 4webmaster.de

Wechseln zu: Navigation, Suche
Bevor der eigentliche Content einer Seite übermittelt wird, müssen zahlreiche Meta-Informationen übermittelt werden, d.h. Informationen über die übermittelten Informationen. Die grundlegendsten Meta-Informationen sind
  • die Zeichenkodierung (wie können die übermittelten Bytes als Zeichen interpretiert werden?)
  • der MIME-Typ (was für eine Art Dokument ist das überhaupt, wie also können weitere Informationen ermittelt werden?)
  • die verwendete HTML-Sprachvariante (wie können die übermittelten Zeichen als Beschreibung einer Webseite interpretiert werden?)


Bei der Übertragung einer in XHTML formulierten Webseite sind sehr viele verschiedene Ebenen beteiligt.

  1. HTTP: Die grundlegensten Ebenen der Netzwerkkommunikation lassen sich mit dem TCP/IP-Referenzmodell beschreiben. Die oberste Schicht dabei ist HTTP, hier wird schon die Zeichenkodierung und der MIME-Typ festgelegt.
  2. XML: Mit dem MIME-Type steht XML als Sprache fest. Aber XML ist erstmal nur eine Meta-Sprache, die genaue HTML-Sprachvariante ist noch nicht definiert. Aber XML verlangt für sich schon einige Meta-Informationen, z.B. die XML-Deklaration, die Doctype-Angabe und den XML-Namespace.
  3. XHTML, CSS, etc. Erst diese obersten Schichten enthalten die eigentliche Beschreibung des darzustellenden Content. Auch hier gibt es zahlreiche Meta-Informationen, die angegeben werden können oder müssen.

Eine Übersicht über die wichtigsten Meta-Angaben in allen Schichten liefert die folgende Tabelle:

Beispiel Festlegendes Element Erklärung Wofür ist das wichtig?
HTTP/1.1 302 Found
Server: Apache
Content-Type: text/html; charset=utf-8
HTTP-Header Der Webserver sendet dem Browser im HTTP-Header grundlegende Meta-Informationen über die ausgelieferte Seite, insbesondere die Zeichenkodierung und der MIME-Type. Zeichenkodierung
HTML-Sprachvariante
<?xml version="1.1" 
      encoding="UTF-8" ?>
XML-Deklaration Eigentlich wird dem XML-Parser des Browsers mit der XML-Deklaration nur mitgeteilt, welche XML-Sprachvariante und welche Zeichenkodierung verwendet wird. In der Praxis gibt es Abhängigkeiten zum MIME-Typ mit potentiell sehr negativen Folgen, siehe Artikel XML-Deklaration. Zeichenkodierung
HTML-Sprachvariante
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Doctype-Angabe Die Doctype-Angabe eines Dokumentes hilft dem Empfänger bei der Entschlüsselung seiner Struktur. Der Browser entscheidet anhand dieser Angabe, ob er den Inhalt standardkonform anzeigt oder ob er den Quirks-Modus verwendet. HTML-Sprachvariante
<html xmlns="http://www.w3.org/1999/xhtml" 
      lang="de-DE" xml:lang="de-DE">
Document-Element Dem obersten Element des Dokumentes (Document-Element: html) muss ein XML-Namespace zugewiesen werden. Mit den optionalen Lang-Attributen lässt sich die Locale angeben. HTML-Sprachvariante
Locale
<meta http-equiv="content-type" 
      content="text/html; charset=utf-8" />
Meta-Tag content-type Überschreibt die Angaben im HTTP-Header (je nach Browser). Zeichenkodierung
HTML-Sprachvariante


Beispiel für XHTML 1.0

<?xml version="1.1" ?>
<!DOCTYPE html
    PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" 
      lang="de" xml:lang="de">
 <head>
   <title>Beispiel</title>
 </head>
 <body>
   ...
 </body>
</html>
  • Die XML-Deklaration <?xml version="1.1" ?> in der ersten Zeile ist optional, wird aber vom W3C empfohlen, da sie XML-Parsern die Zeichenkodierung des Dokuments mitteilt. Wenn die Kodierungsangabe fehlt und keine Kodierung im HTTP-Header gesendet wurde, kann der Browser gemäß dem XML-Standard die Kodierung UTF-8 oder UTF-16 verwenden.
  • Der MIME-Type stellt bei XHTML 1.0 noch kein Problem dar. Für XHTML 1.1 müsste er allerdings geändert werden! Er steht gar nicht im Dokument selbst, sondern wird im Rahmen des HTTP-Protokolls übermittelt.