Heim > Artikel > Backend-Entwicklung > Bei HTTP 200 aus dem Cache tritt ein seltsames Problem auf.
Verwendeter Browser: Chrome auf dem PC, verschiedene Browser auf dem Mobiltelefon
Besuchen Sie dieselbe URL-Adresse: http://xxx.aaa.bbb.com/ship.html
In der Testumgebung: Einige Schüler besuchten diese Adresse. Bei einem erneuten Besuch wurden auf der Seite immer noch die Daten vom letzten Besuch der Seite angezeigt, bei denen es sich nicht um die neuesten Daten handelte. Überprüfen Sie die HTTP-Adresse. Es gibt mehrere wichtige Parameter wie folgt: 200, aus dem Cache. Jedes Mal, wenn einige Schüler diese Adresse besuchen, werden auf der Seite jedoch nicht die neuesten Daten angezeigt. Bei der Überprüfung mehrerer wichtiger http-Parameter wird der Cache nicht angezeigt.
aus dem Cache Ich verstehe, aber was ich nicht verstehe, ist, warum einige Schüler beim Zugriff auf denselben Server aus dem Cache angezeigt werden, während andere beim Zugriff die neuesten Seitendaten vom Server laden. Was hat das damit zu tun und was beeinflusst es?
Hinweis:
In der offiziellen Online-Umgebung besteht dieses Problem nicht, der Zugriff ist normal und die neuesten Seitendaten werden jedes Mal vom Server geladen.
ship.html ist keine reine statische Seite, sondern pseudostatisch.
Die folgenden Header wurden gesetzt: <meta http-equiv="Expires" content="-1">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Pragma" content="no-cache">
Verwendeter Browser: Chrome auf dem PC, verschiedene Browser auf dem Mobiltelefon
Besuchen Sie dieselbe URL-Adresse: http://xxx.aaa.bbb.com/ship.html
In der Testumgebung: Einige Schüler besuchten diese Adresse. Bei einem erneuten Besuch wurden auf der Seite immer noch die Daten vom letzten Besuch der Seite angezeigt, bei denen es sich nicht um die neuesten Daten handelte. Überprüfen Sie die HTTP-Adresse. Es gibt mehrere wichtige Parameter wie folgt: 200, aus dem Cache. Jedes Mal, wenn einige Schüler diese Adresse besuchen, werden auf der Seite jedoch nicht die neuesten Daten angezeigt. Bei der Überprüfung mehrerer wichtiger http-Parameter wird der Cache nicht angezeigt.
aus dem Cache Ich verstehe, aber was ich nicht verstehe, ist, warum einige Schüler beim Zugriff auf denselben Server aus dem Cache angezeigt werden, während andere beim Zugriff die neuesten Seitendaten vom Server laden. Was hat das damit zu tun und was beeinflusst es?
Hinweis:
In der offiziellen Online-Umgebung besteht dieses Problem nicht, der Zugriff ist normal und die neuesten Seitendaten werden jedes Mal vom Server geladen.
ship.html ist keine rein statische Seite, sondern pseudostatisch.
Die folgenden Header wurden gesetzt: <meta http-equiv="Expires" content="-1">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Pragma" content="no-cache">
Wenn der Server die Cache-Steuerung nicht klar definiert, verfügen verschiedene Clients möglicherweise über unterschiedliche Caching-Mechanismen.
Wenn Sie möchten, dass Benutzer jedes Mal die neuesten Daten erhalten, können Sie das Meta-Tag wie folgt festlegen:
<code class="html"><meta http-equiv="cache-control" content="max-age=0" /> <meta http-equiv="cache-control" content="no-cache" /> <meta http-equiv="expires" content="0" /> <meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" /> <meta http-equiv="pragma" content="no-cache" /></code>
Das Festlegen des Meta-Tags ist nur für HTML-Seiten wirksam. Eine bessere Möglichkeit besteht darin, die Cache-Steuerung im HTTP-Antwortheader festzulegen:
<code class="http">Cache-Control: no-cache, no-store, must-revalidate Pragma: no-cache Expires: 0</code>
PHP legt den HTTP-Antwort-Header-Code fest:
<code class="php">header("Cache-Control: no-cache, no-store, must-revalidate"); // HTTP 1.1. header("Pragma: no-cache"); // HTTP 1.0. header("Expires: 0"); // Proxies.</code>
Die Verwendung von Caching kann dazu beitragen, das Laden von Seiten zu beschleunigen und den Ressourcenverbrauch zu reduzieren. Sie sollten Ihre Caching-Strategie an die jeweilige Situation anpassen.
http://stackoverflow.com/ques...
http://stackoverflow.com/ques...