Wie kann ich nach einer Javascript-Datei im Cache des Benutzers suchen? Wenn er die Seite aktualisiert oder die Seite nach einiger Zeit besucht hat. Ich muss diese js-Datei nicht noch einmal herunterladen. Werden die js-Dateien nach dem Schließen einer Site bereinigt?Überprüfen Sie den Cache des Browsers nach einer js-Datei.
Antwort
Ob eine Javascript-Datei zwischengespeichert wird, hängt davon ab, wie Ihr Webserver eingerichtet ist, wie der Browser des Benutzers eingerichtet ist und wie HTTP-Proxy-Server zwischen Ihrem Server und dem Benutzer eingerichtet sind. Das einzige Bit, das Sie steuern können, ist, wie Ihr Server eingerichtet ist.
Wenn Sie die beste Chance haben möchten, dass Ihr Javascript zwischengespeichert wird, dann müssen Sie die richtigen HTTP-Header mit der Javascript-Datei senden. Wie Sie das tun, hängt davon ab, welchen Webserver Sie verwenden.
Hier sind ein paar Links, die helfen könnten:
Apache - http://httpd.apache.org/docs/2.0/mod/mod_expires.html
Der Browser sucht automatisch nach dem, was sie in einem eigenen Cache hat. Es gibt verschiedene Mechanismen, die Sie jedoch zur Steuerung verwenden können.
Blick in die verschiedenen HTTP-Caching-Header, wie zum Beispiel:
- Last-Modified
- Verfällt
- ETag
Der Expires-Header die kritischste davon ist, wenn es darum geht, zum clientseitigen Caching. Wenn Sie eine ferne Zukunft festlegen (z. B. 10 Jahre), wird der Browser (theoretisch) nicht erneut nach dem Server für diese Datei suchen. Natürlich brauchen Sie dann eine Methode, um den Dateinamen zu ändern, wenn sich der Inhalt der Datei ändert. Die meisten Benutzer verwalten dies, indem sie dem Dateipfad eine Build-Nummer hinzufügen.
Der Browser kümmert sich um das Caching für Sie.
Wann der Cache geleert wird, hängt teilweise von den Browsereinstellungen und teilweise von den Kopfzeilen ab, die Sie senden. Wenn Sie einen Header Expires
festlegen, sollte der Browser die Datei nicht erneut anfordern, bis sie abgelaufen ist. Das Lesen über HTTP Headers könnte Ihnen helfen.
- 1. Cache des Browsers über die Befehlszeile löschen
- 2. Wie lösche ich den Cache des Browsers von der Serverseite?
- 3. Wie überprüfen Sie den User Agent des Browsers in einer JSP-Seite mit JSTL, EL?
- 4. Zurück-Taste des Browsers nach dem Abmelden
- 5. Leerzeichen nach der Größenanpassung des Browsers
- 6. Kann jemand CACHE Speicher des Browsers mit Selenium WebDriver löschen
- 7. Chunked Transfer-Codierung - Verhalten des Browsers
- 8. So löschen Sie den Cache nach dem Abmelden In Laravel
- 9. window.history.pushState Aktualisierung des Browsers
- 10. Zeitzone des Browsers ändern
- 11. Aktualisierungsverhalten des Browsers
- 12. Überprüfen Sie den Typ des primitiven Felds
- 13. Mit Rails, Wie kann ich den Cache des Browsers ablaufen lassen?
- 14. Schluck: Automatisch Versionsnummer hinzufügen, um den Cache des Browsers zu verhindern
- 15. Zend - überprüfen, ob die Zurück-Taste des Browsers gedrückt wurde
- 16. Einstellen des Medientyps eines Browsers
- 17. Tastenkombinationen des Browsers überschreiben
- 18. Check Version des Browsers
- 19. fending borderries des Browsers
- 20. Anmeldung des Browsers
- 21. Kann Session auch nach Neustart des Browsers nicht beenden
- 22. JavaScript außerhalb des Browsers interpretieren?
- 23. Suche nach Objekten in der Aufrufliste bei Verwendung des Browsers
- 24. Sendet jede Webanfrage die Cookies des Browsers?
- 25. Zurücksetzen der Taste des Browsers in C#
- 26. Wie kann man ngCookies nach dem Schließen des Browsers behalten?
- 27. schmerzen des browsers zurück taste
- 28. Übernehmen Sie die Eingabetaste, aber nicht, wenn Sie den automatischen Vervollständigungsvorschlag des Browsers auswählen
- 29. So überprüfen Sie, ob das JavaScript des Browsers aktiviert ist oder nicht
- 30. Deaktivierung der Zurück-Schaltfläche des Browsers beim Abmelden in JSP
Diese Frage ist bis zur Unbrauchbarkeit tief verwurzelt, und ich habe keine Ahnung, warum es Upvotes bekam. Zuerst sagen Sie, ohne zu erklären warum, dass Sie überprüfen möchten, ob der Browser eine Datei zwischengespeichert hat (was möglich ist, aber nur über Timing-Angriffe; es gibt keine API dafür). Als nächstes sagen Sie, dass Sie dies wissen wollen, um ein erneutes Herunterladen der Datei zu vermeiden, aber der Browser * handhabt diese Logik für Sie *, wenn Sie ihm die richtigen Header geben, so dass diese Motivation keinen Sinn ergibt. Schließlich stellen Sie eine andere, nicht zusammenhängende und unklare Frage darüber, ob js-Dateien "aufgeräumt" werden, nachdem eine Site "geschlossen" wurde. Hä? –
@MarkAmery können Sie bitte diese "Timing Attack" Check Erklärung verlinken? – setec
@setec Hier ist eine wissenschaftliche Arbeit von vor 15 Jahren: http://sip.cs.princeton.edu/pub/webtiming.pdf. Es wurde seitdem nicht repariert, obwohl es ein Privacy-Loch ist. Die tl; dr-Version ist: Machen Sie einen '' Tag mit' onload'- und 'onerror'-Attributen, die auf die URL verweisen, an der Sie interessiert sind, und verwenden Sie JavaScript, um zu bestimmen, wie lange es dauert, bis einer der Handler aufgerufen wird. Wenn es einige Millisekunden dauert, hat der Benutzer die Ziel-URL zwischengespeichert. –