Mir ist aufgefallen, dass alle modernen Browser beim Caching versagen. Ich erinnere mich, dass ich vor Jahren im Internet Explorer 5 - einem Browser, der nach heutigen Maßstäben der Horror war! - jederzeit den "Datei-/Offlinemodus" auswählen und dann alles, was ich in den letzten Tagen besucht hatte, aus dem Cache durchsuchen konnte. Der Offlinemodus wurde sogar automatisch aktiviert, wenn die Verbindung unterbrochen wurde. Außerdem schien der Cache selbst beim Surfen im Internet viel aggressiver zu nutzen als heute. All dies war bei den Modems der damaligen Zeit und ihren langsamen und unzuverlässigen Verbindungen eine Notwendigkeit. Wenn ich heute mit meinem Netbook unterwegs bin, könnte ich eine solche Funktion häufig nutzen, insbesondere wenn das WLAN instabil oder nicht verfügbar ist.
Firefox bietet immer noch die Option „Offline arbeiten“ und diese funktioniert bei einer Handvoll Seiten, aber sie scheint sehr eingeschränkt zu sein. Außerdem gibt es keine direkte Möglichkeit, zu sehen, welche Seiten in meinem Verlauf zwischengespeichert sind.
Gibt es eine Möglichkeit, das Caching „aggressiver“ oder umfassender zu machen und den Offline-Modus wieder nützlich zu machen? Vielleicht Erweiterungen oder einen bestimmten Browser?
Antwort1
Ein HTML-Autor kann Header und meta
Tags verwenden, um einen Browser anzuweisen, eine Seite nicht im Cache zu speichern.
Dies ist derzeit der Trend, da HTML und Browser heutzutage mehr oder weniger als allgemeines Protokoll/Laufzeitumgebung auf Anwendungsebene und nicht nur als statisches Protokoll zum Abrufen von Dokumenten betrachtet werden.
Es ist technisch möglich, unerwünschte Inhalte aus HTML-Dokumenten mithilfe eines Proxyservers zu entfernen/ändern. squid
würde den Rahmen für diese Funktion bieten – einschließlich der Ausführung von HTML-Anfragen durch ein Skript, das Inhalte im Handumdrehen ändern kann –, aber Sie müssten Ihr eigenes Skript schreiben, das Tags ändert und so unerwünschtes Verhalten erzeugt. Außerdem ist das Herumspielen mit Javascript auf Seiten chaotisch, zeitaufwändig, für jede Site anders und der Aufwand ist normalerweise nicht gerechtfertigt.
Ich kenne keine schlüsselfertige Lösung, die dies bietet.
Im Allgemeinen fand ich es hilfreich, Seiten zu erfassen, indem ich sie als PDF oder Ähnliches ausdruckte, anstatt mich darauf zu verlassen, dass der Browser-Cache sich merkt, was ich tat.
Antwort2
Frühere Versionen squid
(2.2 und früher) verfügen über die Funktion „Offlinemodus“.
Dieser Modus deaktiviert die Cache-Validierung, d. h., wenn sich die Ressource bereits im Squid-Cache befindet, kontaktiert Squid die ursprüngliche Website nicht, um zu prüfen, ob die zwischengespeicherte Ressource gültig/aktuell ist oder nicht.
Kombinieren Sie offline_mode on
und eine aggressive Sammelstelle refresh_pattern
wie
refresh_pattern . 10080 9999% 43200 override-expire ignore-reload ignore-no-cache ignore-no-store ignore-must-revalidate ignore-private override-lastmod reload-into-ims store-stale
und Sie können offline gehen fürMonateund Sie können trotzdem statische Websites, die Sie zuvor besucht haben, erneut aufrufen!
Weitere Informationen finden Sie unterhttp://www.squid-cache.org/Doc/config/offline_mode/Undhttp://linuxdevcenter.com/pub/a/linux/2001/08/02/offline_squid.html. Squid läuft auf den meisten Betriebssystemen, also probieren Sie es aus.
Ich hoffe, dies beantwortet Ihre letzte Frage.
Um nun das „Warum“ im Titel Ihrer Frage zu beantworten: Das Web ist seit IE5 nicht mehr das, was es war. Die meisten Websites funktionieren im Offlinemodus nicht mehr. Das Web ist zunehmend auf dynamische Live-Inhalte angewiesen, d. h. viele Inhalte sind nicht mehr für eine lange Zwischenspeicherung ausgelegt. Lesendiese FrageIch habe in der Mailingliste der Squid-Benutzer nachgefragt.