Warum? Output-Caching Deaktiviert Automatisch den Browser-Caching des IIS 7.5
In IIS 7.5, wenn ich nicht Ausgabezwischenspeicherung aktiviert ist, mein php-Skript erfolgreich setzt browser-caching im Cache-Control-header:
Cache-Control: max-age=43200,öffentliche
Content-Type: text/html
Expires: Wed, 30 May 2012 22:15:18 GMT
Server: Microsoft-IIS/7.5
X-Powered-By: PHP/5.4.3
Datum: mi, 30 Mai 2012 10:15:18 GMT
Verbindung: schließen
Content-Length: 5105
Jedoch, wenn ich Sie aktivieren die Zwischenspeicherung der Ausgabe für .php-Dateien, bekomme ich folgende header:
Cache-Control: no-cache,max-age=43200,öffentliche
Content-Type: text/html
Expires: Wed, 30 May 2012 22:25:34 GMT
Server: Microsoft-IIS/7.5
X-Powered-By: PHP/5.4.3
Datum: mi, 30 Mai 2012 10:25:34 GMT
Verbindung: schließen
(Hinweis "no-cache" Hinzugefügt wird, um die Cache-Control, bevor mein php-Skript arbeiten)
Gibt es keine Möglichkeit, die ich gefunden habe, um zu verhindern, "no-cache" aus, der Hinzugefügt wird, um die Cache-Control-Taste, wenn das Output-caching aktiviert ist für ein Datei-Typ. Ich habe versucht, es zu tun im web.config-Datei:
<customHeaders>
<remove name="X-Powered-By" />
<remove name="Cache-Control" />
<add name="Cache-Control" value="public" />
</customHeaders>
Nicht funktioniert. Warum muss das so sein gegenseitig aus? Ich hätte gerne sowohl die Zwischenspeicherung der Ausgabe-und Browser-Caching aktiviert.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Leider ist der IIS-Manager-Schnittstelle wird Ihnen nicht erlauben, um alle Funktionen, die unterstützt werden durch die output-caching-Modul. Eines dieser features ist, um die cache-location, die indirekt steuert die cache-control-header. Sie müssen manuell Bearbeiten Sie Ihre web.config zu ändern. Die syntax ist wie:
Den
<add />
tag mehr option, je nachdem, wie Sie wollen, dass Ihr caching zu arbeiten. Der wichtigste Teil ist die Beurteilung derlocation="..."
Attribut. Die folgenden Werte werden unterstützt, und Sie Steuern die cache-control-header wie folgt:Any
oderDownstream
=public
ServerAndClient
oderClient
=private
None
oderServer
oder leer =no-cache
Als
location
Attribut ist nicht vorhanden standardmäßig wird IIS standardmäßig sendenCache-Control: no-cache
header wenn die Ausgabezwischenspeicherung aktiviert ist. Mehr Informationen über Ausgabe-caching und die unterstützten features finden Sie auch unter: Antwort Zwischenspeicherung in IIS7