Wie cache-control in der JSP-Seite?
Erstellte ich einen Servlet-filter mit dem folgenden code in der doFilter:
HttpServletResponse httpResponse = (HttpServletResponse)response;
httpResponse.setHeader("Cache-Control","no-cache");
httpResponse.setHeader("Pragma","no-cache");
httpResponse.setDateHeader("Expires", 0);
chain.doFilter(request, response);
Ich will, um sicherzustellen, dass nichts geht auf dem Client zwischengespeichert und jede Anfrage (auch die aus der Browser-Schaltfläche "zurück") werden an den Server weitergeleitet.
Aber auch nach der Umsetzung der oben genannten filter, einige Seiten werden zwischengespeichert (zugänglich über browser-Schaltfläche "zurück").
Und andere Seiten werden nicht zwischengespeichert, zeigen Web-Seite Abgelaufen Fehler im Internet Explorer.
InformationsquelleAutor TheLameProgrammer | 2009-12-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Beginnen, der Satz ist:
Den
no-store
undmust-revalidate
sind erforderlich, um es an die Arbeit in unter jedem Firefox.Wie hast du es testen? Diese Header tatsächlich verhindern, dass der browser anfordert, die Seite aus dem browser-cache, anstatt direkt vom server. Beste test ist, um eine
Filter
zu hören auf/*
und fügen Sie eine debug-Anweisung in den Geschmack von:Diese ausdrucken sollte die tatsächlichen Anforderungen.
Außerdem sicher, dass Sie überschreiben nicht die Header in der JSP-Seite selbst mit HTML
<meta>
tags.Kann man nur bekommen, wenn die nicht zwischengespeicherten Antrag wurde
POST
Anfrage, nicht eineGET
Anfrage. DieGET
Anfragen wird einfach angefordert werden nochmals vom server anstatt aus dem browser-cache.InformationsquelleAutor BalusC
Fand ich diese in den oracle docs, wo Sie erwähnen, dass Sie sollten verwenden Sie niemals
statt, die Sie verwenden sollten
http://docs.oracle.com/cd/E13158_01/alui/wci/docs103/devguide/tsk_pagelets_settingcaching_httpexpires.html
InformationsquelleAutor
Nutzen wir auch die Last-Modified-header zu ermutigen, den der browser immer eine neue version.
setDateHeader("Last-Modified", (new Date()).getTime() ); //Set last modified to right now.
Ich bin mir nicht sicher über das halten von browser-Schaltfläche "zurück" aus mit dem cache, obwohl. Alles, was Sie nicht mit header-Felder wird nur ausgewertet, wenn die Seite zum ersten mal geladen, wenn ich mich Recht erinnere.
InformationsquelleAutor Steven M. Cherry
Ich fand diese info: http://docs.oracle.com/cd/E19501-01/819-3659/beagw/index.html (siehe Der cache-Tag)
InformationsquelleAutor Олег Всильдеревьев