www.mikrocontroller.net

Forum: PC-Programmierung Caching im I-Explorer mit NUT/OS


Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Versuch mal einen Expires-Header mitzusenden.

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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...:-(

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Morin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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...

Autor: Gast2 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mach ne Startseite:

"Diese Webseite ist fuer Opera und Firefox optimiert"

Gast2

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.