Frage zur Struktur einer HTML-Datei
Jürgen
- html
Ok, mal ganz blöd gefragt... wozu genau benötige ich grundsätzlich eigentlich den header einer Html-Seite (doctype, <html><head></head><body></body></html>), wo es doch eigentlich auch ohne funktioniert?
Seid gegrüßt!
Ok, mal ganz blöd gefragt... wozu genau benötige ich grundsätzlich eigentlich den header einer Html-Seite (doctype, <html><head></head><body></body></html>),
Weil "ordentliche" (X)HTML-Dokumente nunmal so definiert sind. Und nur so ist auch eine "ordentliche" Darstellung im Browser möglich
wo es doch eigentlich auch ohne funktioniert?
Das liegt nur an der Gutmütigkeit mancher Browser, sollte dich nicht wundern, wenn es ohne nicht funtioniert.
Hallo,
Ok, mal ganz blöd gefragt... wozu genau benötige ich grundsätzlich eigentlich den header einer Html-Seite (doctype, <html><head></head><body></body></html>), wo es doch eigentlich auch ohne funktioniert?
Der DOCTYPE ist durchaus sinnvoll, um zu kennzeichnen, dass die Datei eine HTML-Datei in dieser HTML-Version jener Unterart ist. Ferner wirkt er sich bei einigen Browsern sogar auf den Rendering-Modus aus, siehe: http://www.carsten-protsch.de/zwischennetz/doctype/index.html Und ohne DOCTYPE ist eine Seite schlichtweg kein gültiges HTML.
Die Start- und End-Tags der Elemente <html>, <head> und <body> sind in HTML 4.01 tatsächlich optional, d.h. sie müssen nicht angegeben werden; folgende Seite ist gültiges HTML 4:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Test-Seite</title>
<p>Dies ist ein Test-Text</p>
Und sie funktioniert auch in jedem Browser, den ich kenne. Allerdings hat die Angabe der Start- und Endtags von <html> und <body> durchaus ihren Sinn: Die Struktur der Seite wird dadurch klarer ersichtlich und man macht nicht so leicht Fehler (bestimmte Elemente sind nur in <head> erlaubt; andere nur in <body> - sobald jedoch das erste nur in <body> erlaubte Element auftaucht, hört der <head> der HTML-Seite auf und wenn danach noch ein nur in <head> erlaubtes Element kommen sollte, wird die Seite ungültig). Die anzugeben ist einfach besserer Stil. In XHTML ist dagegen die Angabe der Start- und End-Tags von <html>, <head> und <body> sogar vorgeschrieben, wenn man sie nicht angibt, ist die Seite ungültig.
Ok, es wäre da noch die Diskussion zu führen, ob es einem egal ist, ob die Seite ungültig ist, wenn sie doch trotzdem funktioniert, allerdings wurde das im Archiv schon tausendmal durchexerziet und ich habe keine Lust, alles zu wiederholen, was dazu bereits geschrieben wurde.
Viele Grüße,
Christian
Danke für eure schnelle Antwort!
Wofür stehen die Teile des Doctypes?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
Wozu brauche ich dafür ein zusätzliches Meta-Tag?
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
Ich weiß, dass diese Frage für Praktiker nervig erscheinen mögen, dennoch würde ich mich mit der Materie gerne genauer auseinandersetzen...
Hello out there!
Wofür stehen die Teile des Doctypes?
Du kennst schon http://de.selfhtml.org/@title=SELFHTML? Da stehen viele interessante und nützliche Dinge drin. Vielleicht auch das. Mal nachschauen. Click.
Da es um HTML geht, wird die Antwort wenn, dann im Kapitel http://de.selfhtml.org/html/@title=HTML/XHTML stehen. Click.
Deine Frage wird ist eine zu <http://de.selfhtml.org/html/allgemein/@title=allgemeinen Regeln für HTML>. Click.
Und zwar eine zum <http://de.selfhtml.org/html/allgemein/grundgeruest.htm@title=Grundgerüst einer HTML-Datei>. Click.
Nun aber SELF weiter ...
Wozu brauche ich dafür ein zusätzliches Meta-Tag?
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
Damit die verarbeitende Software (z.B. ein Browser) weiß, nach welcher Zeichencodierung er die Oktetts (Bytes) zu interpretieren hat, auch wenn keine Angabe im HTTP-Header gemacht wird, entweder weil der Server keine Angabe macht oder weil das Dokument gar nicht übers Web angefordert wird, sondern bspw. eine lokal gespeicherte Kopie.
See ya up the road,
Gunnar
Ok, habe mich ein wenig über Doctypes und Zeichencodierungen informiert. Dabei habe ich herausgefunden, dass HTML-Doctypes definieren, welche Elemente ein Dokument vom Typ HTML enthalten darf, welche Elemente innerhalb von welchen anderen vorkommen dürfen, etc.; - dass es sich bei Doctypes im Wesentlichen um STRUKTURGUIDELINES handelt, während "http-equiv=content-type" meta-tags dem Browser Aufschluss darüber geben, nach welcher Zeichencodierung er die Oktetts (Bytes) zu interpretieren hat. Dabei handelt es sich allerdings doch auch um eine Art Strukturguideline (oder?) ... wo also liegt genau der Unterschied zwischen den DOCTYPES und den "http-equiv=content-type" meta-tags, bzw. warum brauche ich beides?
Habe mich versucht zu informieren, aber da blicke ich irgendwie nicht ganz durch...
Vielen Dank für eure Hilfe,
Jürgen.
Hello out there!
Es reicht völlig aus, ein Posting einmal abzuschicken.
See ya up the road,
Gunnar
Hallo Jürgen.
Wofür stehen die Teile des Doctypes?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
Dies kannst du in http://de.selfhtml.org/xml/regeln/dokumenttypdeklaration.htm@title=SELFHTML nachlesen.
Einen schönen Dienstag noch.
Gruß, Mathias
hi,
Ich weiß, dass diese Frage für Praktiker nervig erscheinen mögen, dennoch würde ich mich mit der Materie gerne genauer auseinandersetzen...
Dann tu's doch - bevor du fragst ...
gruß,
wahsaga
Ok, habe mich ein wenig über Doctypes und Zeichencodierungen informiert. Dabei habe ich herausgefunden, dass HTML-Doctypes definieren, welche Elemente ein Dokument vom Typ HTML enthalten darf, welche Elemente innerhalb von welchen anderen vorkommen dürfen, etc.; - dass es sich bei Doctypes im Wesentlichen um STRUKTURGUIDELINES handelt, während "http-equiv=content-type" meta-tags dem Browser Aufschluss darüber geben, nach welcher Zeichencodierung er die Oktetts (Bytes) zu interpretieren hat. Dabei handelt es sich allerdings doch auch um eine Art Strukturguideline (oder?) ... wo also liegt genau der Unterschied zwischen den DOCTYPES und den "http-equiv=content-type" meta-tags, bzw. warum brauche ich beides?
Habe mich versucht zu informieren, aber da blicke ich irgendwie nicht ganz durch...
Vielen Dank für eure Hilfe,
Jürgen.
Hello out there!
dass es sich bei Doctypes im Wesentlichen um STRUKTURGUIDELINES handelt,
„Guidelines“ klingt mir zu unverbindlich; ich würd von „Regeln“ sprechen.
während "http-equiv=content-type" meta-tags dem Browser Aufschluss darüber geben, nach welcher Zeichencodierung er die Oktetts (Bytes) zu interpretieren hat. Dabei handelt es sich allerdings doch auch um eine Art Strukturguideline (oder?)
Nein; Zeichencodierung ist viel tiefer. Durch die Zeichencodierung bekommt die empfangene Software (der Client) erstmal mitgeteilt, dass 3C bspw. für das Zeichen '<' steht. Ohne dieses Wissen könnte der Client keine Tags erkennen; ohne Tags keine Dokumentstruktur.
Habe mich versucht zu informieren, aber da blicke ich irgendwie nicht ganz durch...
Das SELFHTML-Kapitel http://de.selfhtml.org/inter/@title=Internationalisierung hast du schon gelesen?
See ya up the road,
Gunnar