www.wikidata.de-de.nina.az
Der Application Cache ist ein Standard der einen besonderen Browser Cache fur Webseiten vor allem Webanwendungen zur Verfugung stellt Der Standard wurde mit HTML5 eingefuhrt und soll auf einfache Weise ermoglichen dass Seiten auch offline genutzt werden konnen In der Praxis zeigten sich allerdings zahlreiche Schwachen sodass der Standard inzwischen als hinfallig gilt 1 Inhaltsverzeichnis 1 Funktionsweise 2 Cache Manifest 3 Beispiel 4 Sicherheit 5 Browserunterstutzung 6 Probleme 7 Einzelnachweise 8 WeblinksFunktionsweise BearbeitenDer Application Cache ist ein Speicherbereich in dem der Webbrowser bestimmte Ressourcen speichert die von einer Seite benotigt werden damit diese beim nachsten Besuch sofort zur Verfugung stehen auch wenn zu diesem Zeitpunkt keine Internetverbindung besteht Er funktioniert damit ahnlich wie der gewohnliche Browser Cache und wird parallel zu diesem eingesetzt Welche Ressourcen gespeichert werden sollen wird mit dem Cache Manifest bestimmt Das Manifest gibt ausserdem an ob fehlende Ressourcen uber das Internet heruntergeladen werden sollen oder ob stattdessen ein Fallback verwendet werden soll Um ein Cache Manifest zu verwenden wird dessen URL im manifest Attribut des lt html gt Tags notiert Der Browser wird beim ersten Aufruf der Seite alle Ressourcen herunterladen die im Manifest angegeben sind und diese cachen Bei jedem weiteren Besuch werden diese Ressourcen nicht mehr uber das Internet geladen sondern direkt aus dem Cache geholt Anschliessend pruft der Browser ob sich die Manifest Datei in der Zwischenzeit geandert hat Ist dies der Fall so wird er den Cache aktualisieren diese neue Version wird allerdings erst beim nachsten Besuch der Seite oder nach einem Neuladen aktiv Zudem gibt es eine JavaScript Schnittstelle uber die die Seite mittels Events verfolgen kann in welchem Zustand sich der Cache befindet Cache Manifest BearbeitenDas Cache Manifest ist eine einfache Textdatei mit der Dateiendung appcache und dem MIME Type text cache manifest die mit der Kennzeichnung CACHE MANIFEST beginnt Kommentare sind Zeilen die mit einem Doppelkreuz beginnen Der Rest der Datei besteht aus Eintragen von drei verschiedenen Typen explizite Cache Eintrage in einem Abschnitt mit der Uberschrift CACHE oder ausserhalb gekennzeichneter Abschnitte Fallback Eintrage in einem Abschnitt mit der Uberschrift FALLBACK sowie Netzwerk Eintrage in einem Abschnitt mit der Uberschrift NETWORK Die Abschnitte konnen in beliebiger Reihenfolge und auch mehrfach oder gar nicht vorkommen Alle als explizite Cache Eintrage gelisteten URLs sowie die Eintrage die implizit dadurch gecachet werden dass sie das Manifest einbinden werden in den Cache aufgenommen Fallback Eintrage bestehen aus einem URL Bereich und der Angabe einer Fallback URL Kann eine Ressourcen aus einem dort gelisteten Bereich nicht geladen werden so wird stattdessen der Fallback verwendet Netzwerk Eintrage geben schliesslich an welche Ressourcen bei Verwendung des Application Caches trotzdem uber das Internet geladen werden sollen Das Standard Verhalten ist dass alle Ressourcen die nicht im Manifest verzeichnet sind automatisch fehlschlagen selbst wenn eine Internetverbindung besteht Dieses Verhalten kann aber uber einen Netzwerk Eintrag als Wildcard oder spezifischere Angaben zu diesen Ressourcen geandert werden Beispiel BearbeitenAls Beispiel soll eine Seite dienen die es dem Benutzer ermoglicht sich durch mehrere Bilder hindurchzublattern Diese Bilder sollen dabei nicht alle von Anfang an sichtbar sein sondern dynamisch nachgeladen werden Dazu wird eine CSS Stildatei style css und ein JavaScript Skript script js eingesetzt sowie die Bilder bild1 jpg bis bild4 jpg Die HTML Datei konnte wenn das Skript fur den kompletten Inhalt verantwortlich ist folgendermassen aussehen lt DOCTYPE html gt lt html manifest cache appcache gt lt head gt lt title gt Bilderbuch lt title gt lt link rel stylesheet href style css gt lt script src script js gt lt script gt lt head gt lt body gt lt body gt lt html gt Die in der zweiten Zeile angegebene Cache Datei konnte den folgenden Inhalt haben CACHE MANIFEST v1 script js style css bild1 jpg bild2 jpg bild3 jpg bild4 jpg Die HTML Datei wird implizit gecachet da sie das Manifest einbindet dazu kommen die CSS und die JS Datei sowie die vier Bilder Diese werden geladen obwohl sie zu diesem Zeitpunkt noch nicht benotigt werden da sie nicht direkt in der HTML Datei referenziert werden Wird eine der Dateien aktualisiert so muss die Manifest Datei geandert werden Sofern die Liste der Dateien gleich geblieben ist bietet es sich an einen Kommentar zu modifizieren und so eine neue Version zu erzeugen Dazu dient die zweite Zeile im Manifest Beispiel Sicherheit Bearbeiten nbsp Nachfrage in Firefox ob eine Seite 2048 den Application Cache verwenden sollDer Application Cache ermoglicht es Benutzer ahnlich wie mit Cookies zu verfolgen Zudem besteht die Moglichkeit sehr viel Speicherplatz zu verbrauchen Damit bosartige Seiten dies nicht ausnutzen fragen die meisten Browser beim Benutzer nach bevor sie erstmals fur eine Seite einen Application Cache anlegen Je nach Browser gibt es auch unterschiedliche Moglichkeiten den Cache wieder zu entfernen 2 Browserunterstutzung BearbeitenAlle aktuellen Browser unterstutzen Application Cache Mozilla Firefox ab Version 3 5 der Internet Explorer ab Version 10 Google Chrome ab Version 4 In Android besteht ab Version 2 1 Unterstutzung im Standardbrowser 3 Firefox zeigt ab der Version 44 eine Warnung in der Browserkonsole an wenn Application Cache eingesetzt wird um Programmierer darauf aufmerksam zu machen dass es sich um eine veraltete Technologie handelt 4 Probleme BearbeitenIn der Praxis zeigten sich zahlreiche Probleme mit dem Application Cache 5 Andert sich eine Datei im Cache so mussen alle Dateien neu heruntergeladen werden Ein sinnvoller Einsatz ist nur bei einer uberschaubaren Zahl von zu cachenden Ressourcen moglich Zwar gibt es Ansatze wie Application Cache auch fur Internetangebote wie Wikipedia eingesetzt werden kann 6 die sehr viele Seiten haben von denen ein einzelner Benutzer jedoch nur wenige nutzt aber dabei wurde der Cache zum einen sehr viel Speicherplatz verbrauchen zum anderen wurden dem Benutzer haufig veraltete Seiten gezeigt Wird das Cache Manifest zu lange gecachet im normalen Browser Cache oder sogar im Application Cache selbst so ist eine Aktualisierung unmoglich Selbst wenn der Programmierer der Webseite seinen Fehler nachtraglich bemerkt hat er keine Moglichkeit ihn zu korrigieren Stellt eine Seite bestimmte Ressourcen in verschiedenen Formaten bereit etwa Videos in verschiedenen Codecs oder Bilder in unterschiedlichen Auflosungen fur variierende Bildschirmgrossen so muss der Browser alle Formate herunterladen und cachen In einigen Fallen weichen Programmierer daher auf andere Technologien aus etwa Web Storage Als Reaktion auf diese Probleme wurde der Service Worker Standard entworfen 7 der allerdings deutlich komplexer ist und noch nicht in allen Browsern implementiert ist Seit 2015 8 wird der Application Cache von der WHATWG als deprecated eingestuft 1 Setzt eine Seite sowohl Service Worker als auch Application Cache ein so ignorieren moderne Browser den Application Cache Einzelnachweise Bearbeiten a b HTML Standard Offline Web applications WHATWG abgerufen am 25 Juli 2016 englisch Using the application cache Storage location and clearing the offline cache Nicht mehr online verfugbar In MDN Web Docs Archiviert vom Original am 15 Februar 2019 abgerufen am 25 Juli 2016 englisch nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot developer mozilla org Can I Use Offline web applications Abgerufen am 25 Juli 2016 Firefox 44 for developers In MDN Web Docs Abgerufen am 25 Juli 2016 englisch Jake Archibald Application Cache is a Douchebag In A List Apart 8 Mai 2012 abgerufen am 25 Juli 2016 englisch Offline Web Applications Dive Into HTML5 In diveintohtml5 info Abgerufen am 25 Juli 2016 Service Workers Motivations W3C abgerufen am 25 Juli 2016 englisch Deprecate lt keygen gt and appcache 28 August 2015 abgerufen am 25 Juli 2016 Weblinks BearbeitenOffline Web Applications W3C Standard Benutzung des Application Cache auf MDN Web Docs Leitfaden fur die ersten Schritte bei der Verwendung des Anwendungscaches auf html5rocks com Abgerufen von https de wikipedia org w index php title Application Cache amp oldid 234750017