2012-04-09 5 views
0

Ich habe eine Frage zum Deaktivieren des Browsercachings. Ich habe bereits einige Lösungen gefunden und möchte nur wissen, ob es bessere oder gebräuchlichere Ansätze gibt. So habe ich GWT-Anwendungen und um Einlösen zu deaktivieren I nächste Optionen verwenden:Browsercaching programmgesteuert deaktivieren

  1. zu URL Hinzufügen von Dummy-Parameter
  2. Setzen auf der HTML-Seite <meta http-equiv="pragma" content="no-cache">
  3. Einstellung HTTP-Header:

    header("Pragma-directive: no-cache"); 
    header("Cache-directive: no-cache"); 
    header("Cache-control: no-cache"); 
    header("Pragma: no-cache"); 
    header("Expires: 0"); 
    
+0

Es ist bereits gefragt, denke ich. Überprüfen Sie diese [link] (http://stackoverflow.com/questions/2558779/how-to-programmatics-disable-html-caching-with-gwt) – AurA

+1

Die Header, die Sie auflisten, enthalten einige Fantasie/Wunschdenken. 'Expires: 0' ist ein Syntaxfehler,' * -directive' ist Unsinn, 'Pragma: no-cache' ist seit Ende der 90er Jahre irrelevant. Der einzige, der zählt, ist "Cache-Kontrolle: No-Cache". '' kann nicht funktionieren, da es zwischengespeichert wird, bevor es analysiert wird. – Kornel

+0

Also, sollte ich die erste Option verwenden? Aber das ist der unbequemste Weg für mich. Ich würde lieber die Option Nummer 3 verwenden. – IgorDiy

Antwort

1

Die wichtigsten sind die

header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); #Expires sometime in the past 
header("Cache-control: no-cache");     #Disables caching 

Fügen Sie außerdem den eindeutigen Parameter zur URL hinzu, um sicher zu gehen. Wenn Sie die Browser-Zurück-Schaltfläche verwenden, wird manchmal das gesamte DOM zwischengespeichert und es wird kein neuer Inhalt abgerufen, es sei denn, Sie tun dies dynamisch mit JavaScript und fügen Ihrer Anfrage eine eindeutige ID hinzu.

Normalerweise möchten Sie die meisten dieser Header in Ihrer Serverkonfiguration festlegen, so dass Sie normale Bilder und andere statische Inhalte auch mit den richtigen Headern bereitstellen können.