www.mikrocontroller.net

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

Autor: Martin (Gast)
Datum: 20.06.2008 11:43

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: Ernst Bachmann (ernst)
Datum: 20.06.2008 11:51

Versuch mal einen Expires-Header mitzusenden.
Autor: Martin (Gast)
Datum: 20.06.2008 11:59

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: Ernst Bachmann (ernst)
Datum: 20.06.2008 19:11

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: 23.06.2008 07:54

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 Pauli (haku) Benutzerseite
Datum: 23.06.2008 08:29

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: 23.06.2008 09:57

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
Datum: 23.06.2008 10:08

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: 23.06.2008 10:11

> 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: 23.06.2008 10:23

Mach ne Startseite:

"Diese Webseite ist fuer Opera und Firefox optimiert"

Gast2

Antwort schreiben

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

Wichtige Regeln - erst lesen, dann posten!

  • Suchfunktion und Betreffsuche benutzen - vielleicht gibt es schon einen ähnlichen Beitrag
  • Aussagekräftigen Betreff wählen
  • Im Betreff angeben um welchen Controllertyp es geht (AVR, PIC, ...)
  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang
  • JPEG-Dateien (.jpg) nur für Fotos und Scans verwenden
  • Schaltpläne, Screenshots usw. als PNG oder GIF anhängen

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [pre]vorformatierter Text (z.B. Code in anderen Sprachen)[/pre]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel






webmaster@mikrocontroller.netImpressumWerbung auf Mikrocontroller.net