Standards Body:
w3.org (W3C, World Wide Web Consortium)
Tutorials:
http://www.w3.org/MarkUp/Guide/
http://selfhtml.org/
Grundidee:
Formatierte Dokumente mit Hyperlinks
(Vorlaeufer Gopher z. B. nur Listenstruktur mit Text in Endknoten
-> in jedem Knoten entweder Liste oder Text/Bild/...)
Uebertragungsprotokoll vs Inhalt
- protokoll (http)
meta-information (cf envelope bei SMTP)
-> "GET /index.html 1.0" + header
- content (type), nach mime-types klassifiziert:
text/plain
>text/html<
image/png
image/jpeg
image/gif (lange zeit patentprobleme, Jun 19, 2003 US, Jun 18 and 19, 2004 EU)
...
- innere kennzeichnungen: jpeg-versionen, (WICHTIG:) DTD zur html-versionierung
Mime-Type text/html historisch
Aktuell:
http://www.rfc-editor.org/rfc/rfc2854.txt
Aktuell XHTML 1.0/HTML 4.01
Historisch (nur "letzte" Versionen; von w3c.org)
- HTML 2.0 (RFC 1866) (Update zu 1.0, afaik nie ein Standard,
-: keine Tabellen, +: keine Frames ...) VERALTET
- HTML 3.2 W3C's first Recommendation for HTML (Tabellen, Applets,
Text-/Bild-Formatierungshinweise (flow-around), sub, sup)
- HTML 4.01 (frames)
im Zusammenhang mit HTML 4.0 css (concurrent style sheets), um
Textauszeichnung von der Inhaltspraesentation trennen zu koennen
XHTML (XML == extensible markup language)
- html war ein "Tagsalat" mit einigen Tags, die keine geordnete struktur haben
und maschinell nur unsauber parsbar sind - es gibt einzelne tags (br, hr,
applet, ...), tags, die geoeffnet/geschlossen werden muessen
(textauszeichnung, html, body, head, listen, ...) und solche, wo dies
optional ist (listitem, paragraph)
-> keine elemente ohne end-tag
absatz
, bzw als "zusammenziehung"
- in html 4.0 koennen tags (aus browsersicht, nicht vom standard her)
ueberlappen (
text
), das ist in xhtml nicht moeglich
(strenge validierung als xml
eingige andere aenderungen (anfuehrungszeichen, css, script-einbindung,
kleinschreibung von tags und entities)
HTML 4.01
- grundstruktur: dtd, html, head, body
- textformatierung (absatz, linebreak, listen, tabellen, zentrierung, ...)
- zeichensatzinformationen (fett, kursiv, groesser/kl, super-/subscript, ...)
- einbindung von grafiken (und anderen objekten)
Grundstruktur von HTML-Dokumenten
---
alles, nur keine character entities
...
---
Grundstruktur: DTD (html, head, body)
Wie schon angemerkt, werden viele verschiedene Dokumententypen vom
Webserver als mime-type "text/html" serviert, daher Notwendigkeit der
Unterscheidung:
...
Jeder Browser hat andere Voreinstellungen, daher funktionieren "nackte"
HTML-Dokumente zwar meist, aber nicht immer wie gewuenscht!
Grundstruktur: (DTD) html, body, (head)
... umschliesst gesamtes dokument mit Ausnahme d. DTD
... umschliesst gesamten Textteil (nicht head, DTD; innerhalb html)
Grundstruktur: (DTD, html, body), head
... Beinhaltet Meta-Information, die nicht im Browserfenster
dargestellt werden:
wichtig:
- ... Titel (Fuer Bookmarks, Titelzeile, ...)
- keywords, author, description, ...>
- fuer relative links (bei nicht komplettem mirror)
ferner liefen:
- links vor/zurueck/index/...
textformatierung:
Ueberschriften
...
bis
...
absatz
Saetze, Woerter, Texte
linebreak
Eine Zeile Rest des Absatzes in beliebiger Laenge
nur innerhalb von Absaetzen!
listen
...
...
tabellen
...
...
...
...
...
...
...
vorformatierter text (kein html) eingebettet:
alles ausser <, >, &, "
Zeilenumbrueche werden hier honoriert
absatzausrichtung: empfohlen: css, lokal auch:
...
...
fonts, ...
...
mit css:
...
...
zeichensatzinformationen (fett, kursiv, groesser/kl, super-/subscript, ...)
Textformatierung: vorzugsweise ebenfalls ueber css (id=.../class=... mit
zb, aber auch "klassisch":
- spezifisch: deprecated!
Font style elements: the TT, I, B, BIG, SMALL, STRIKE, S, and U
...
- abstrakt:
Phrase elements: EM, STRONG, DFN, CODE, SAMP, KBD, VAR, CITE, ABBR, and ACRONYM
moeglichst immer content-spezifische kennzeichnungen, keine expliziten
Stile verwenden!
Subscripts and superscripts: the SUB and SUP elements
einbindung von grafiken (und anderen objekten):
alt: beschreibung, wenn grafik nicht angezeigt werden kann
title: wird zumindest bei mozilla als overlay dargestellt
(deprecated: )
image maps: client/server side (regionen bzw koordinaten) ismap/usemap
Horizontal Rule (Linie)
Hyperlinks:
...
In allen Textelementen
kann auch enthalten, um Graphiken "klickbar" zu machen
Forms: Eingabe fuer dahinterliegende Applikationen (CGI etc)
(kein end tag!)
typen: text, password (sternchen, aber ungeschuetzte uebertragung),
checkbox, radio, submit/image, button (->value), hidden, file
...
Character Entities:
Zeichensatz festlegbar, sicherer ist die Verwendung definierter Character
Entities (mit Ampersand und Strichpunkt umgebene Bezeichnung)
Mandatorisch:
& -> &
" -> "
>, < -> >, <
Ansonsten:
ä, ö, ... -> Umlaute "a, "o, ...
ß -> scharfes s
auch numerische Umschreibungen nach Codetabelle
Kommentare:
Beginn:
dazwischen kann irgendetwas stehen, was der Webbrowser (im Normalfall)
ignorieren soll
auch verwendet fuer Server Side Includes (shtml) und