Hallo zusammen, ich programmiere eine Baugruppe mit ATMEGA128 Controller, auf dieser läuft NUT/OS 4.4.1.1, mit Webserver. Ich versuche nun gewisse Teile von Webseiten im Browser zu chachen. Das mache ich indem ich den HTML Header beim Response um die Zeile "Cache-Control: max-age=3600, s-maxage=3600" erweitere. Das ganze funktioniert im Firefox und Opera Browser wunderbar. Alle Teile, welche mit diesem Header gesendet werde, werden auch gechached. Leider weigert sich der Internet Explorer wehemend dies zu tun, sprich er lädt bei jedem Aufruf alle Teile neu. Ich habe mir mit "Fiddler" die HTML Header angeschaut. Den einzigen Unterschied, welchen ich im Gegensatz zu anderen Webseiten gefunden habe ist, ein "Pragma: no-cache", das allerdings beim REQUEST, also GET gesedet bzw. erzeugt wird. Ich habe keine Ahnung warum und weshalb der Explorer dieses Pragma bei einer Anfrage erzeugt, hat vielleich von euch einer eine Lösung für mich? Oder kann mir sagen unter welchen Umständen der Internet Explorer bei einer Anfrage ein "Pragma: no-cache" erzeugt? Danke Gruß Martin
Danke für die schneller Antwort, aber ich denke das wird nicht helfen, da laut RFC2616 Kap.14 Note: if a response includes a Cache-Control field with the max- age directive (see section 14.9.3), that directive overrides the Expires field. das Expire Feld überschrieben wird, wenn man Cache-Control in Verbindung mit max-age benutzt.
Und du glaubst, der Internet Explorer würde sich an eine RFC halten? Reichlich optimistisch... Ich würd das Expire mal testen, reicht ja erstmal mit nem statischen End-Datum.
Ist weiß nicht ob sich Microsoft bei der Entwicklung des Internet Explorers an die RFC gehalten hat, würde es also weder behaupten noch bestreiten, dass ist aber der einzige Standard an den ich mich halten kann....und natürlich habe ich deinen Vorschlag ausprobiert, hat aber leider auch nichts gebracht, weiterhin cachen nur Firefox und Opera...:-(
Martin wrote: > Ist weiß nicht ob sich Microsoft bei der Entwicklung des Internet > Explorers an die RFC gehalten hat, würde es also weder behaupten noch > bestreiten, Na, du siehst es doch offen vor dir liegen... Hast du im IE irgendwo den Cache auch angestellt? Ansonsten würde ich mich als Entwickler nie und nimmer auf nen Cache verlassen, du siehst ja selbst, warum.
Ich glaube wir schweifen hier ein bisschen ab... ich brauch beim IE den caching Mechanismus nicht anschalten, weil er standartmäßig aktiviert ist. (Ich weiß überhaupt nicht ob man ihn abschalten kann, aber irgendwo bestimmt). Ich will mich auch nicht auf den Cache verlassen, und ihn nur explizit für Bilder und stylesheet Dateien nutzen, welche, bei mir zumindest statisch sind, es also keine Rolle spielt ob sie gecachet werden oder nicht. HTML Seiten werden nicht gecachet. Der Sinn des Ganzen ist es, die Ladezeiten der Webseiten möglichst klein zu halten. Und deshalb war meine eigentlich Frage ob jemand weiß, welche Voraussetzungen des HTML Header gegeben sein müssen, damit der Internet Explorer eine Datei cachet? Ich möchte hier keinen Browser bewerten, ich möchte halt nur mein Problem lösen und bin für jeden Lösungsvorschlag dankbar.
Man kann keinen Browser zwingen etwas zu cachen, du wirst auch nirgendwo in den entsprechenden RFCs dazu ein "MUST" finden. Zeig doch mal die kompletten Header von Request und Response.
> Und deshalb war meine eigentlich Frage ob jemand weiß, welche > Voraussetzungen des HTML Header gegeben sein müssen, damit der Internet > Explorer eine Datei cachet? Tip: Ruf mal mit dem IE ein Bild o.ä. auf einer "normalen" Seite auf und schneide den Datenverkehr mit, da müssen die nötigen Headerdaten ja vorkommen. Evtl sind es auch bestimmte header die nicht vorkommen dürfen damit gecached wird. > Ich möchte hier keinen Browser bewerten, ich möchte halt nur mein > Problem lösen und bin für jeden Lösungsvorschlag dankbar. Optimist...
Mach ne Startseite: "Diese Webseite ist fuer Opera und Firefox optimiert" Gast2
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.