Situation: eine Google App Engine Seite mit meinem statischen Inhalt des default_expiration läuft auf "14d"Wie kann ich das Caching-Verhalten von Google App Engine in WebKit steuern (die Etags sind verrückt geworden)?
Problem: in Chrome und Safari, eine URL zu besuchen (nicht Nachladen, nur die Cursor in der Indienststellung Wenn Sie die Eingabetaste drücken und die Eingabetaste drücken, werden viele Anfragen mit If-None-Match-Headern ausgelöst. Die Antworten sind wie erwartet immer 304 Nicht geändert. Ich kann beobachten, wie diese Anfragen in einem Debug-Proxy wie Charles oder Fiddler ausgelöst werden.
Wollen Sie: um diese Anfragen und 304 Antworten vollständig für statischen Inhalt zu vermeiden - vertrauen Sie einfach den zwischengespeicherten Inhalt des Browsers, wenn es verfügbar ist.
Wir verwenden den Standard "statischen Cache-Inhalt für eine sehr lange Zeit, wir kümmern uns um das Anhängen? Version = {Version} Änderungen an unseren Abfrage-Strings, wenn wir das Cache-System zu sprengen, also würden wir wirklich gerne die 304 zu vermeiden.
Glaube: Ich denke, dass dies durch den Etag-Header verursacht wird, die App-Engine mit jeder statischen Inhaltsantwort sendet. Das App-Modul SDK tut nicht senden Sie diesen Header nach unten, und ich sehe dieses Verhalten 304 nicht, wenn Sie mit dem SDK herumspielen.
Irgendwelche Ratschläge? Können Sie Etags für den statischen Inhalt der App Engine deaktivieren?
aktualisiert mit einem Beispiel Stück statischen Inhalt:http://www.khanacademy.org/stylesheets/shared-package/compressed.css
Können Sie eine URL zu diesem statischen Inhalt posten? Dann kann jemand überprüfen, welche Header Sie zurückgeben (läuft ab usw.). –
Gute Idee, aktualisierte Frage – kamens
Schön. Ich bin kein Experte für die Header, aber ich denke, die Antwort ist da. Ich sehe das für den 24. Dezember ab, das sieht gut aus. Ich sehe auch einen Etag-Header, eine Cache-Kontrolle und ein Alter, diese können beeinflussen, ob der Browser den Inhalt zwischenspeichert oder nicht. –