Caching verstehen?

9

Gestern hatten wir zuhause keine Stromversorgung, also kein Internet. Also nahm ich an, dass ich meine Web-App nicht lokal arbeiten lassen könnte, denn am Ende von "index.html" habe ich:

%Vor%

Das war jedoch nicht der Fall, es würde reibungslos funktionieren. Ich vermutete also, dass der Browser sich an das letzte Mal erinnert hat, als er diese js-Dateien heruntergeladen hat.

Wenn ich meine wep-app neu geladen habe, konnte ich die js-Dateien nicht laden, da keine Internetverbindung bestand. Dieses Verhalten würde immer wieder vorkommen.

In beiden Fällen konnte es nicht heruntergeladen werden:

%Vor%

aber das ist kein kritischer Fehler. Beachten Sie, dass von war lokal in meiner Projektdatei, deshalb ist es irrelevant.

Ich versuche zu verstehen, warum, irgendwelche Gedanken?

Ich verwende Version 52.0.2743.116 (64-Bit) in einem MacBook Pro El Capitan.

Mine: Der Browser hat die zwischengespeicherten Versionen der js-Dateien verwendet, aber selbst bei Normal Reload würde er versuchen, sie erneut herunterzuladen.

    
gsamaras 10.09.2016, 03:53
quelle

1 Antwort

3

Bei einigen externen Dateien ist das Verfallsdatum für die Zukunft nicht im HTTP-Header festgelegt.

Sie werden bemerken, wenn ich eine Seite mit der Google-Schriftart lade, hier der Antwort-Header:

Google Schrift-API

%Vor%

Sie werden feststellen, dass Google diese Schriftart mit einem sofortigen Ablauf versehen hat. (Ich habe auf die Datei auf Sat, 10 Sep 2016 04:55:29 GMT zugegriffen und sie läuft zur selben Zeit ab.) Dies ist wahrscheinlich der Grund, warum sie nie geladen wurde.

Anders als das - ich bin ehrlich gesagt nicht sicher, warum die JS-Dateien nach dem erneuten Laden der Seite für Sie nicht verfügbar waren. Der Rest der Dateien hat Ablaufköpfe in der Zukunft, und ich habe es selbst getestet, indem ich Firefox Version 48.0.1 ohne Probleme benutzt habe. Ich habe zuerst die Seite mit Ihren Skripten geladen und dann "Offline arbeiten" gewählt. Der Browser hat weiterhin zwischengespeicherte Versionen dieser Dateien bereitgestellt, egal wie oft ich Refresh oder F5 gedrückt habe. Vielleicht ist es eine Einstellung mit Ihrem Browser, aber ich kann mir nicht sicher sein. Vielleicht hat jemand anderes mehr Informationen dazu.

    
NickyTheWrench 10.09.2016, 05:19
quelle