Fangen wir "klein" an:
HTML
steht für HyperText Markup Language - eine Sprache, mit der
es möglich ist Texte, Bilder, Tabelle, Animationen etc. auf den Bildschirm zu bringen.
D.h. HTML ist die Vereinbarung, wie ein Web-Browser mit sogenannten "tags"
(etwas <b>, <p> oder <img src ...>) umgehen soll.
Hierbei ist folgendes technische Konzept zu beachten: Der Browser liesst zunächst
das ganze HTML-Dokument ein und bildet daraus das so genannte
DOM (Document Object Model).
D.h. in einer Art Directory-Tree ähnlichen Struktur baut er "Platzhalter" für alle auf der Seite befindlichen "Objekte"
Bilder, Textabsätze, Tabellen etc. auf. Aus dem HTML-Dokument liesst er daraufhin die
Attribute für die Objekte aus (z.B. Bildgröße, Tabellen-Farbe etc.).
Wenn diese Daten bearbeitet sind, beginnt der Browser mit der Darstellung auf dem Bildschirm.
Genau an dieser Stelle kommt es zu den bekannten Abweisungen zwischen Netscape und
Microsoft Browsern: Im DOM werden alle für ein Objekt bekannten
Attribute benötigt. Für ein Bild sind die z.B. "Höhe", "Breite", "Alternativ Text", "Ausrichtung" ...
Fehlt eines dieser Attribute im HTML-File (in der Regel ist überhaupt nur ein Bruchteil der
Attribute genannt), so "rät" der Browser, was hierbei sinnvoll sein könnte. Genau dabei
"raten" verschiedene Browser verschiedene Defaults ... es kommt zum unterschiedlichen
Aussehen ein und des selben File auf dem Bildschirm.
Da DOM ist im hohen Maße objekt-orientiert aufgebaut. Daher eigenen sich gerage objekt-orientierte
Sprachen hervorragend für ihre Manipilation. DOM-Manipulation sind fast überall
zu finden: ein Einfaches "Mouse-Over", daß in einer Menü-Leiste ein Bild (Button)
durch ein anderes ersetzt ist eine solche Manipulation: im DOM-Braum steht
"nur" auf dem Bildschirm ist an Postion X/Y ein Bild zu sehen. Der Mouse-Over
tauscht schlicht das "Attribut" des Bildes ("Welches Bild ist zu sehen?") gegen
ein anderes aus.
HTTP
steht für Hyper Texte Transport Protocol
- eine Methode, wie Daten eines entfernten Servers zu einem Client (dem PC) gelangen.
Ähnliche "Protokolle" gibt es z.B. für die Benutzung von Dateien, Druckern
oder den Bildschirm. Von diesen merkt der Benutzer jedoch nichts. HTTP vereinbart z.B.
zwischen dem Web-Browser und dem Web-Server, daß http://wo-auch-immer/index.html eine
Text Datei ist, http://wo-auch-immer/logo.gif aber ein Bild darstellt. Für den Benutzer
ist dieser Unterschied selbstverständlich. In der EDV (für zwei Computer, die mit
einander "sprechen"), muß es hierfür exakte Regeln geben. Genau diese
beschreibt HTTP. Von HTTP gibt es derzeit die Versionen 0.9, 1.0 und 1.1.
Welche Daten genau
zwischen dem Client und dem Server ausgetauscht werden, kann man z.B. in der HTTP/1.0-Spec nachlesen.
HTTP/1.0 wird in RFC 1945 beschrieben, HTTP/1.1 in RFC 2068.
HTTP/1.1 hat gegenüber Verion 1.0 eine Reihe von Vorteilen:
Zum einen wird nicht mehr nach jedem angefordertem Objekt (HTML-File, Bild, Script ...) wie
virtuelle Verbindung zwischen Browser und Server gekappt (Geschwindigkeit), zum anderen
kann damit auf einem Web-Server mit nur eine IP-Adresse beliebig viele unterschiedliche
(!) Web-Adressen (Domains) gehostet werden.
Wichtig ist dabei, daß ein Browser zum anfordern eines Dokuments nicht mehr nur einfach
das File selbst anfordert ("GET /index.html HTTP/1.1") sondern die ganze URL
sammt Server ("GET http://www.Server1.de/index.html HTTP/1.1"). Somit kann der Server
selbst, nur anhand des Namens (und nicht der IP Nummer) zwischen "Server1" und
"Server2" unterscheiden. Problematisch ist dieser Mechanismus für einige Search-Engines:
Deren Crawler (das Programm, das die Seiten einsammelt) ist zum Teil nur in der
Lage, HTTP/1.0-Requests zu senden. Die führt dazu, daß von allen Web-Domains, die
auf einem Server liegen, nur die erste indiziert wird.
Ein weiterer Vorteil des HTTP/1.1 ist, daß u.a. Proxy-Server von einem Web-Server
ein Doku´ment nur dann anfordern, wenn sich dies nach dem letzten Aufruf
geändert hat. Der Request an den Server wird dann in der Form geschickt
"sende Dokumeten X wenn es jünger als Datum Y ist.". Hierdurch wird auch
zwischen Browser und Proxy selbst einiges an Datenvolument eingespart.