XMLHttpRequest: Wie Kraft-caching?
Ich bin neuer XMLHttpRequests da habe ich vorher benutzt, die jQuery-AjAX-Methode. Aber ich brauche zum arbeiten in einen web-worker und jetzt habe ich mit der klassischen XMLHttpRequest für performance-Probleme.
Ich bin versucht, den Wiederaufbau der cache
-Eigenschaft von jquery. Wenn der cache sollte deaktiviert werden, ich dies hinzufügen:
xhr.setRequestHeader("Cache-Control", "no-cache");
Aber was für header muss ich einstellen, wenn ich will, zu erzwingen des caching (nicht verhindern)?
- Das würde das Gegenteil tun von dem, was verlangt wird.
- Auch ich weiß nicht, wie diese Methode seit meiner Strecken (z.B. wenn route == someroute/) wäre ungültig, mit timestamp-Parameter
- Oh, duh! Sorry, ignorieren Sie mich.
- Wenn Sie wirklich wollen, zu zwingen, client-side caching, sollten Sie abstrahiert die XHRs (hinter der ein Modell oder eine Bibliothek) und implementieren der Zwischenspeicherung innerhalb, der.
- Es gibt also nichts zu erzwingen Zwischenspeichern? Wird jQuery auch nichts tun?
- Wenn Sie nicht möchten, dass für das abrufen der Inhalte, über und über, warum Sie nicht speichern eine lokale Kopie und verwenden Sie es?
- Was ist der beste Weg, um >disable< caching? Ich verlange nicht, über den query-string timestamp-Lösung
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es eine Vielzahl von Headern, die Sie festlegen können, um ermutigen, caching, aber Sie (einschließlich
Cache-Control
die Sie verwenden, falsch) sind Antwort - Header, die gesendet werden sollen, müssen von der server-und nicht auf request-Header.Ein Beispiel mit Cache-Control:
Diese Caching-Tutorial für Webautoren und Webmaster deckt Sie in mehr Tiefe.
Cache-Control
kann verwendet werden als request-header, und es unterstütztno-cache
, wie bereits von RFC-7234.Können Sie angeben
max-stale
ohne argument, inCache-Control
header Ihrer Anfrage. Von RFC-7234: