In Chrome 85 wird die Unterstützung für AppCache standardmäßig entfernt. Die meisten Entwickler sollten jetzt und nicht erst später von AppCache migrieren.
Wie bereits angekündigt, wird die Unterstützung für AppCache in Chrome und anderen Chromium-basierten Browsern eingestellt. Wir empfehlen Entwicklern, jetzt von AppCache zu migrieren und nicht länger zu warten.
Service Worker, die in aktuellen Browsern weitgehend unterstützt werden, bieten eine Alternative zur Bereitstellung der Offline-Funktionen, die AppCache geboten hatte. Weitere Informationen finden Sie unter Migrationsstrategien.
Zeitachse
Letzte Änderungen am Chrome-Releasezeitplan können dazu führen, dass sich der Zeitpunkt einiger dieser Schritte ändert. Wir werden versuchen, diese Zeitachse auf dem neuesten Stand zu halten. Bitte migrieren Sie aber jetzt so schnell wie möglich von AppCache weg, anstatt auf bestimmte Meilensteine zu warten.
Eine als „deprecated“ gekennzeichnete Funktion ist weiterhin vorhanden, protokolliert aber Warnmeldungen, die von der Verwendung abraten. Eine „entfernte“ Funktion ist im Browser nicht mehr vorhanden.
Einstellung in nicht sicheren Kontexten | Chrome 50 (April 2016) |
Entfernung aus unsicheren Kontexten | Chrome 70 (Oktober 2018) |
Einstellung in sicheren Kontexten | Chrome 79 (Dezember 2019) |
Einschränkung des AppCache-Bereichs | Chrome 80 (Februar 2020) |
Ursprungstest für „Reverse“ beginnt | Chrome 84 (Juli 2020) |
Entfernung aus sicheren Kontexten, mit Ausnahme derer, die für den Ursprungstest aktiviert wurden | Chrome 85 (August 2020) |
Vollständige Entfernung aus sicheren Kontexten für alle nach Abschluss des Ursprungstests | 5. Oktober 2021 (ungefähr Chrome 95) |
Ursprungstest
In der Zeitleiste sind zwei bevorstehende Meilensteine aufgeführt, die entfernt werden. Ab Chrome 85 ist AppCache in Chrome nicht mehr standardmäßig verfügbar. Entwickler, die mehr Zeit für die Migration von AppCache benötigen, können sich für einen Origin-Trial registrieren, um die Verfügbarkeit von AppCache für ihre Web-Apps zu verlängern. Der Origin-Testlauf beginnt in Chrome 84 (vor der standardmäßigen Entfernung in Chrome 85) und läuft bis zum 5. Oktober 2021 (ungefähr Chrome 95). Zu diesem Zeitpunkt wird AppCache für alle vollständig entfernt, auch für Nutzer, die sich für den Origin-Testlauf registriert hatten.
So nehmen Sie am „Reverse“-Ursprungstest teil:
- Fordern Sie ein Token für Ihren Ursprung an.
- Fügen Sie das Token Ihren HTML-Seiten hinzu. Dafür gibt es zwei Möglichkeiten:
- Fügen Sie im Head jeder Seite ein
origin-trial
<meta>
-Tag ein. Beispiel:<meta http-equiv="origin-trial" content="TOKEN_GOES_HERE">
- Alternativ können Sie Ihren Server so konfigurieren, dass er Antworten mit dem HTTP-Header
Origin-Trial
zurückgibt. Der resultierende Antwortheader sollte in etwa so aussehen:Origin-Trial: TOKEN_GOES_HERE
- Fügen Sie im Head jeder Seite ein
- Fügen Sie dasselbe Token Ihren AppCache-Manifesten hinzu. Dazu verwenden Sie ein neues Feld in Ihrem Manifest mit folgendem Format:
ORIGIN-TRIAL:
TOKEN_GOES_HERE
(Zwischen ORIGIN-TRIAL
und Ihrem Token muss eine neue Zeile eingefügt werden.)
Warum sind Tokens an mehreren Stellen erforderlich?
Das Same-Origin-Testlauf-Token muss mit Folgendem verknüpft sein:
- Alle Ihre HTML-Seiten, die AppCache verwenden.
- Alle Ihre AppCache-Manifeste über das Manifestfeld
ORIGIN-TRIAL
.
Wenn Sie in der Vergangenheit an Origin Trials teilgenommen haben, haben Sie das Token möglicherweise nur Ihren HTML-Seiten hinzugefügt. Das Reverse-Origin-Trial für AppCache ist insofern besonders, als Sie auch jedem Ihrer AppCache-Manifeste ein Token zuordnen müssen.
Wenn Sie das Origin-Trial-Token Ihren HTML-Seiten hinzufügen, können Sie die window.applicationCache
-Schnittstelle in Ihren Web-Apps verwenden. Auf Seiten, die keinem Token zugeordnet sind, können keine window.applicationCache
-Methoden und -Ereignisse verwendet werden. Auf Seiten ohne Token können auch keine Ressourcen aus dem AppCache geladen werden. Ab Chrome 85 verhalten sie sich so, als ob AppCache nicht vorhanden wäre.
Wenn Sie das Origin-Trial-Token Ihren AppCache-Manifesten hinzufügen, wird angegeben, dass jedes Manifest weiterhin gültig ist. Ab Chrome 85 werden alle Manifeste ohne das Feld ORIGIN-TRIAL
als fehlerhaft behandelt und die Regeln im Manifest werden ignoriert.
Zeitplan und Logistik für die Bereitstellung von Origin Trials
Der „Reverse“-Origin-Trial beginnt offiziell mit Chrome 84. Sie können sich jedoch schon heute für den Origin-Trial registrieren und die Tokens zu Ihrem HTML- und AppCache-Manifest hinzufügen. Wenn die Nutzer Ihrer Web-App nach und nach auf Chrome 84 umstellen, werden alle von Ihnen bereits hinzugefügten Tokens wirksam.
Nachdem Sie Ihrem AppCache-Manifest ein Token hinzugefügt haben, rufen Sie about://appcache-internals
auf, um zu bestätigen, dass Ihre lokale Instanz von Chrome (Version 84 oder höher) das Origin-Trial-Token richtig mit den im Manifest zwischengespeicherten Einträgen verknüpft hat. Wenn Ihr Ursprungstest erkannt wird, sollte auf dieser Seite ein Feld mit Token Expires: Tue Apr 06 2021...
angezeigt werden, das mit Ihrem Manifest verknüpft ist:

Vor dem Entfernen testen
Wir empfehlen Ihnen dringend, so bald wie möglich von AppCache zu migrieren. Wenn Sie die Entfernung von AppCache in Ihren Web-Apps testen möchten, verwenden Sie das about://flags/#app-cache
-Flag, um die Entfernung zu simulieren. Dieses Flag ist ab Chrome 84 verfügbar.
Migrationsstrategien
Service Worker, die von aktuellen Browsern weitgehend unterstützt werden, bieten eine Alternative zur Offline-Funktion von AppCache.
Wir haben ein Polyfill bereitgestellt, das einen Service Worker verwendet, um einige der Funktionen von AppCache zu replizieren. Die gesamte AppCache-Schnittstelle wird jedoch nicht repliziert. Insbesondere ist es kein Ersatz für die window.applicationCache
-Schnittstelle oder die zugehörigen AppCache-Ereignisse.
Für komplexere Fälle bieten Bibliotheken wie Workbox eine einfache Möglichkeit, einen modernen Service Worker für Ihre Web-App zu erstellen.
Service Worker und AppCache schließen sich gegenseitig aus
Bei der Entwicklung Ihrer Migrationsstrategie sollten Sie berücksichtigen, dass Chrome die AppCache-Funktionalität auf jeder Seite deaktiviert, die unter der Kontrolle eines Service Workers geladen wird. Sobald Sie einen Service Worker bereitstellen, der eine bestimmte Seite steuert, können Sie AppCache auf dieser Seite nicht mehr verwenden.
Aus diesem Grund empfehlen wir, nicht zu versuchen, schrittweise zu Service Workern zu migrieren. Es wäre ein Fehler, einen Service Worker bereitzustellen, der nur einen Teil Ihrer Caching-Logik enthält. Sie können nicht auf AppCache zurückgreifen, um „Lücken zu schließen“.
Wenn Sie einen Service Worker vor der Entfernung von AppCache bereitstellen und dann feststellen, dass Sie ein Rollback auf Ihre vorherige AppCache-Implementierung durchführen müssen, müssen Sie diesen Service Worker abmelden. Solange ein registrierter Service Worker für eine bestimmte Seite vorhanden ist, wird AppCache nicht verwendet.
Plattformübergreifende Nutzung
Wenn Sie weitere Informationen zu den Plänen der einzelnen Browseranbieter zur Entfernung von AppCache wünschen, empfehlen wir Ihnen, sich direkt an den jeweiligen Anbieter zu wenden.
Firefox auf allen Plattformen
Firefox hat AppCache in Version 44 (September 2015) eingestellt und die Unterstützung dafür in den Beta- und Nightly-Builds ab September 2019 entfernt.
Safari unter iOS und macOS
Safari hat AppCache Anfang 2018 eingestellt.
Chrome unter iOS
Chrome für iOS ist ein Sonderfall, da hier eine andere Browser-Engine als bei Chrome auf anderen Plattformen verwendet wird: WKWebView. Service Worker werden derzeit in iOS-Apps, die WKWebView verwenden, nicht unterstützt. Die Ankündigung zur Entfernung von AppCache in Chrome bezieht sich nicht auf die Verfügbarkeit von AppCache in Chrome für iOS. Das sollten Sie berücksichtigen, wenn Ihre Web-App viele Nutzer in Chrome für iOS hat.
Android WebViews
Einige Entwickler von Android-Anwendungen verwenden Chrome WebView, um Webinhalte anzuzeigen, und nutzen möglicherweise auch AppCache. Es ist jedoch nicht möglich, einen Origin-Testlauf für eine WebView zu aktivieren. Daher wird AppCache in Chrome WebView ohne Origin Trial unterstützt, bis die endgültige Entfernung erfolgt, die für Chrome 90 erwartet wird.
Weitere Informationen
Hier finden Sie einige Ressourcen für Entwickler, die von AppCache zu Service Workern migrieren.
Artikel
- Service Worker: Einführung
- Der Service Worker-Lebenszyklus
- Training zu progressiven Web-Apps
- Netzwerkzuverlässigkeit
Tools
Hilfe erhalten
Wenn Sie bei der Verwendung eines bestimmten Tools auf ein Problem stoßen, erstellen Sie einen Problemfall im zugehörigen GitHub-Repository.
Allgemeine Fragen zur Migration von AppCache können Sie auf Stack Overflow mit dem Tag html5-appcache
stellen.
Wenn Sie einen Fehler im Zusammenhang mit der Entfernung von AppCache in Chrome finden, melden Sie ihn bitte über den Chromium-Fehler-Tracker.
Hero-Bild basierend auf Smithsonian Institution Archives, Acc. 11-007, Box 020, Bildnummer MNH-4477.