Henryk Plötz: CSS-Filter dynamisch verändern?

Beitrag lesen

Moin

Ehrlich gesagt versteh ich euch grad nicht ganz... 'Mime Type?' 'Kann HTTP nicht?'
Was heißt das?
Und was ist Mozilla? Ich gerade IE WÄRE Mozilla??

Ok, ich versuche mal das zu erklären: HTTP läuft in etwa so ab:

Browser an Server: Ich hätt gern die Datei X
Server an Browser: Hier hast du Datei X. Sie ist Y Bytes groß und vom Typ Z.

Wenn der Browser den Server nach der Datei fragt hat er noch keinen blassen Schimmer, was für eine Datei er kriegen wird, daher sendet der Server den Dateityp als Mime-Type mit. Für HTML-Seiten ist das üblicherweise text/html.
Nun hat der IE aber ein paar Probleme beim Verarbeiten von HTTP. Anscheinend findet die vom Server gesendete Mimetyp-Angabe nirgendwo Verwendung. Statt dessen schaut sich der IE einfach die ersten paar Bytes der Datei an und 'rät' dann, was für einen Typ die Datei denn wohl haben könnte. Das ist insbesondere nervig, wenn der Server absichtlich einen anderen Mime-Type mitsendet, als der IE rät, weil man etwa den Sourcecode zeigen möchte und daher "text/plain" sendet: Der IE sieht die ersten paar Bytes, denkt sich, dass das eine HTML-Seite sein könnte und fängt munter an den HTML-Code zu interpretieren. (Da gabs auch noch andere Geschichten, etwa dass man ihn dazu bringen konnte den HTML-Code in einem GIF-Kommentar auszuführen, obwohl die Datei eindeutig vom Server als Bild gekennzeichnet war.)
Bei dir passiert nun folgendes: Dein Redirect von http://www.holgerscreek.de führt auf http://home.t-online.de/home/GCA-Labor-MS/holger/holgerscreek.html/ (beachte das / am Ende). Der Server sieht das nun und versucht das Verzeichnis zu öffnen, was fehlschlägt. Er sieht dass es da aber eine Datei gleichen Namens gibt und öffnet statt dessen diese (hmm, das kenne ich eigentlich nur von PHP-Skripts, aber sei's drum) und sendet sie zum Browser. Leider scheint er nicht mehr zu wissen, dass er eine HTML-Datei geöffnet hat (das / am Ende scheint wohl zu verwirren) und sendet einfach mal den Mimetyp text/plain mit. Ein Browser der nun HTTP richtig beherrscht, empfängt diesen Typ und weiss, dass jetzt ein Textdokument kommt und gibt sich keine weiter Mühe nach HTML-Code Ausschau zu halten. Nicht so der IE! Der schaut sich die ersten paar Bytes an, findet ein <html> und hastenichgesehn, fängt er an den HTML-Code zu interpretieren.

Lösung: mach das / am Ende des Dateinamens im redirect weg.

Zu IE vs. Mozilla: Ich nehme an, du beziehst dich auf http://selfhtml.teamone.de/diverses/clients.htm. Die meisten Browser identifizieren sich im User-Agent-String als Mozilla oder Mozilla/compatible. Das hat historische Ursachen. Der IE hat aber mit dem Mozilla von http://www.mozilla.org/ nur soviel gemein, als dass beides Web-Browser sind. Was allerdings stimmt, ist dass der Netscape-Browser seit Version 6 auf den Quellen des Mozilla-Projektes basiert.

Ich hoffe, hier für ein bisschen mehr Klarheit gesorgt zu haben.

--
Henryk Plötz
Grüße aus Berlin