Sie sind in Kategorie Internet Explorer

Brotkrumennavigation


Dienstag, 27. Januar 2009

Internet Explorer 6 spammt Server

Schlagworte: , , , ,
27.01.2009 · 18:55
Aus unerfindlichen Gründen laufen durch Internet Explorer 6 immer wieder massenhaft Requests nach bestimmten Dateien auf.

So zum Beispiel im Blog oben bei der Animation mit Schneeflocken.
Der IE 6 fordert mehr als 200-mal Bilder der Schneeflocken-GIFs an, obwohl dies nur maximal fünf verschiedene sind. Das ist in der Statuszeile sichtbar.

Folge der Massenabfrage in so schneller Abfolge: der DoS-Serverschutz springt an und liefert dann logischerweise manchmal einen Status 403 an den IE zurück und sperrt den Zugriff für einige Sekunden.

Das ist mir ein Rätsel, warum der IE so spinnt und in so schneller Folge immer wieder anfordert.

Im Server ist sinnvollerweise Cache-Verwaltung mittels Expire und Last-Modified aktiviert.

Leider haben auch Tipps wie IE DHTML image caching bug oder Internet Explorer and AJAX image caching woes nicht geholfen.

Jetzt könnte ja jemand fragen, wieso es nötig sei für den uralten IE 6 noch zu fixen. Ganz einfach, er wird durch Windows XP immer noch vorhanden sein und solange es kein Zwangsupdate bei den Servicepacks auf IE 7 oder IE 8 gibt, wird sich nichts ändern. Ein Anteil von 2030% ist jedenfalls nicht vernachlässigbar.

Nachtrag:
Der IE 6 hat angeblich ein Problem mit dem HTTP-Header Vary beim Cachen.

Da habe ich erst einmal das Debugging-Tool Fiddler2 eingespannt.

Laut Fiddlers Dokumentation verhält es sich mit Vary wie folgt:

Internet Explorer 6
Internet Explorer 6 will treat a response with a Vary header as completely uncacheable, unless the Vary header contains only the token User-Agent or Accept-Encoding. Hence, a subsequent request will be made unconditionally, resulting in a full re-delivery of the unchanged response.

Der IE 6 vergisst also das Caching, wenn der HTTP-Header Vary mehr als nur User-Agent oder mehr als nur Accept-Encoding enthält!

Seltsamerweise hilft aber auch ein Abschalten des Vary-Headers im Apache mit BrowserMatch "MSIE 6" no-vary nicht. Der Vary-Header wird vom Apache nicht mehr ausgeliefert, was eine mit Fiddler gut sehen kann, aber der IE 6 greift trotzdem nicht auf den Cache mit den GIFs zu.

Eine Session zeigt folgende Header:

Request:

GET /blog/pics/snow/0.gif HTTP/1.1
Accept: */*
Referer: http://www.gwendragon.de/blog/Web/Browser/InternetExplorer/ie6-sendet-zu-viel-requests.html
Accept-Language: de
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 2.0.50727)
Host: www.gwendragon.de
Connection: Keep-Alive

Response:

HTTP/1.1 200 OK
Date: Wed, 28 Jan 2009 16:02:24 GMT
Server: Apache
Last-Modified: Thu, 25 Dec 2008 16:12:48 GMT
ETag: "194800f6-30-45ee1478e4000"
Accept-Ranges: bytes
Content-Length: 48
Cache-Control: max-age=2592000
Expires: Fri, 27 Feb 2009 16:02:24 GMT
Connection: close
Content-Type: image/gif

GIF89a ....

Auch ein Einfügen nur von Vary: User-Agent bringt nichts. Der IE holt immer noch die GIFs wieder neu ab.

Response (2):

HTTP/1.1 200 OK
Date: Wed, 28 Jan 2009 16:22:53 GMT
Server: Apache
Last-Modified: Thu, 25 Dec 2008 16:12:48 GMT
ETag: "194800f6-30-45ee1478e4000"
Accept-Ranges: bytes
Content-Length: 48
Cache-Control: max-age=2592000
Expires: Fri, 27 Feb 2009 16:22:53 GMT
Vary: User-Agent
Connection: close
Content-Type: image/gif

GIF89a ....

Es ist einfach zum schreien, dieser IE 6-Bug!

Das Problem ist ja älter und auch schon in der Mailliste von mod_gzip aufgetaucht. Dort ist auch beschrieben, dass die IE nur lokal cachen, wenn Vary: User-Agent gesetzt ist.

Eigentlich sollte es doch gehen, so wie ich es jetzt eingestellt habe.

Autor: GwenDragon · Kategorie Internet Explorer · Permalink · Kommentare (1) · Kommentar schreiben

Kommentare

Kommentare als Feed · Kommentar schreiben

#1 GwenDragon schrieb am 2.2.2009 13:52 folgendes:

Laut Fehlerlog hat auch der IE 8 hat oft nichts besseres zu tun, als Caching zu ignorieren und im viel zu hohen Maße und viel zu kurzen Abständen immer wieder dieselben Bilddateien hier abzufordern.

Da muss bei DHTML wohl arg nachgebessert werden bei Microsoft.

↑Artikel


Kommentar für Blogeintrag

Kommentar

Mit * gekennzeichnete Felder müssen angegeben werden.



(Textformatierung in Markdown möglich)

Hinweis zum Datenschutz

Falls es Probleme mit Kommentaren/Trackbacks gibt, bitte ich um eine Beschreibung per E-Mail.

TrackBack-URL: http://gwendragon.de/blog/Web/Browser/InternetExplorer/ie6-sendet-zu-viel-requests.html/trackback

↑Artikel