Chrome 85 menghapus dukungan untuk AppCache secara default. Sebagian besar developer harus segera melakukan migrasi dari AppCache, dan tidak perlu menunggu lebih lama.
Menindaklanjuti pengumuman sebelumnya, dukungan untuk AppCache akan dihapus dari Chrome dan browser berbasis Chromium lainnya. Sebaiknya developer segera melakukan migrasi dari AppCache, daripada menunggu lebih lama.
Pekerja layanan, yang didukung secara luas di browser saat ini, menawarkan alternatif untuk memberikan pengalaman offline yang ditawarkan AppCache. Lihat Strategi migrasi.
Linimasa
Perubahan terbaru pada jadwal rilis Chrome berarti waktu beberapa langkah ini dapat bervariasi. Kami akan berupaya menjaga linimasa ini tetap terbaru, tetapi saat ini, segera lakukan migrasi dari AppCache secepat mungkin, alih-alih menunggu tonggak pencapaian tertentu.
Fitur "tidak digunakan lagi" masih ada, tetapi mencatat pesan peringatan yang tidak menganjurkan penggunaan. Fitur yang "dihapus" tidak lagi ada di browser.
Penghentian penggunaan dalam konteks yang tidak aman | Chrome 50 (April 2016) |
Penghapusan dari konteks yang tidak aman | Chrome 70 (Oktober 2018) |
Penghentian penggunaan dalam konteks yang aman | Chrome 79 (Desember 2019) |
Pembatasan cakupan AppCache | Chrome 80 (Februari 2020) |
Uji coba origin "Reverse" dimulai | Chrome 84 (Juli 2020) |
Penghapusan dari konteks aman, kecuali untuk yang memilih ikut serta dalam uji coba origin | Chrome 85 (Agustus 2020) |
Penghapusan lengkap dari konteks aman untuk semua orang, dengan penyelesaian uji coba origin | 5 Oktober 2021 (kira-kira Chrome 95) |
Uji coba origin
Linimasa mencantumkan dua pencapaian mendatang untuk penghapusan. Mulai Chrome 85, AppCache tidak akan tersedia lagi di Chrome secara default. Developer yang memerlukan waktu tambahan untuk bermigrasi dari AppCache dapat mendaftar ke uji coba origin "terbalik" untuk memperpanjang ketersediaan AppCache untuk aplikasi web mereka. Uji coba origin akan dimulai di Chrome 84 (sebelum penghapusan default di Chrome 85), dan akan aktif hingga 5 Oktober 2021 (kira-kira Chrome 95). Pada saat itu, AppCache akan sepenuhnya dihapus untuk semua orang, bahkan mereka yang telah mendaftar ke uji coba origin.
Untuk berpartisipasi dalam uji coba origin "reverse":
- Minta token untuk asal Anda.
- Tambahkan token ke halaman HTML Anda. Ada dua cara untuk melakukannya:
- Tambahkan tag
origin-trial
<meta>
ke bagian head setiap halaman. Contoh:<meta http-equiv="origin-trial" content="TOKEN_GOES_HERE">
- Atau, konfigurasi server Anda untuk menampilkan respons yang berisi header HTTP
Origin-Trial
. Header respons yang dihasilkan akan terlihat seperti:Origin-Trial: TOKEN_GOES_HERE
- Tambahkan tag
- Tambahkan token yang sama ke manifes AppCache Anda. Lakukan ini melalui kolom baru di manifes Anda, dengan format:
ORIGIN-TRIAL:
TOKEN_GOES_HERE
(Harus ada baris baru antara ORIGIN-TRIAL
dan token Anda.)
Mengapa token diperlukan di beberapa tempat?
Token uji coba origin yang sama harus dikaitkan dengan:
- Semua halaman HTML Anda yang menggunakan AppCache.
- Semua manifes AppCache Anda melalui kolom manifes
ORIGIN-TRIAL
.
Jika Anda pernah berpartisipasi dalam uji coba origin sebelumnya, Anda mungkin telah menambahkan token hanya ke halaman HTML Anda. Uji coba origin "terbalik" AppCache bersifat khusus karena Anda juga perlu mengaitkan token dengan setiap manifes AppCache.
Menambahkan token uji coba origin ke halaman HTML memungkinkan antarmuka window.applicationCache
dari dalam aplikasi web Anda. Halaman yang tidak dikaitkan dengan token tidak akan dapat menggunakan metode dan peristiwa window.applicationCache
. Halaman tanpa token juga tidak akan dapat memuat resource dari AppCache. Mulai Chrome 85, AppCache akan berperilaku seolah-olah tidak ada.
Menambahkan token uji coba origin ke manifes AppCache menunjukkan bahwa setiap manifes masih valid. Mulai Chrome 85, semua manifes yang tidak memiliki kolom ORIGIN-TRIAL
akan dianggap tidak valid, dan aturan dalam manifes akan diabaikan.
Waktu dan logistik deployment uji coba origin
Meskipun uji coba origin "terbalik" secara resmi dimulai dengan Chrome 84, Anda dapat mendaftar untuk uji coba origin hari ini dan menambahkan token ke HTML dan manifes AppCache Anda. Saat audiens aplikasi web Anda secara bertahap mengupgrade ke Chrome 84, token yang telah Anda tambahkan akan berlaku.
Setelah menambahkan token ke manifes AppCache, buka about://appcache-internals
untuk mengonfirmasi bahwa instance Chrome lokal Anda (versi 84 atau yang lebih baru) telah mengaitkan token uji coba origin dengan benar ke entri yang di-cache manifes Anda. Jika uji coba origin Anda dikenali, Anda akan melihat kolom dengan Token Expires: Tue Apr 06 2021...
di halaman tersebut, yang dikaitkan dengan manifes Anda:

Pengujian sebelum penghapusan
Sebaiknya Anda segera bermigrasi dari AppCache. Jika Anda ingin menguji penghapusan AppCache di aplikasi web, gunakan about://flags/#app-cache
flag untuk menyimulasikan penghapusannya. Flag ini tersedia mulai Chrome 84.
Strategi migrasi
Pekerja layanan, yang didukung secara luas di browser saat ini, menawarkan alternatif untuk pengalaman offline yang disediakan oleh AppCache.
Kami telah menyediakan polyfill yang menggunakan pekerja layanan untuk mereplikasi beberapa fungsi AppCache, meskipun tidak mereplikasi seluruh antarmuka AppCache. Khususnya, API ini tidak menyediakan pengganti antarmuka window.applicationCache
atau peristiwa AppCache terkait.
Untuk kasus yang lebih kompleks, library seperti Workbox menyediakan cara mudah untuk membuat pekerja layanan modern untuk aplikasi web Anda.
Service worker dan AppCache tidak dapat digunakan bersamaan
Saat mengerjakan strategi migrasi, perlu diingat bahwa Chrome akan menonaktifkan fungsi AppCache di halaman mana pun yang dimuat di bawah kontrol pekerja layanan. Dengan kata lain, segera setelah Anda men-deploy pekerja layanan yang mengontrol halaman tertentu, Anda tidak lagi dapat menggunakan AppCache di halaman tersebut.
Oleh karena itu, sebaiknya Anda tidak mencoba bermigrasi ke pekerja layanan secara bertahap. Akan menjadi kesalahan jika men-deploy pekerja layanan yang hanya berisi beberapa logika penyimpanan dalam cache Anda. Anda tidak dapat mengandalkan AppCache untuk "mengisi kesenjangan".
Demikian pula, jika Anda men-deploy pekerja layanan sebelum penghapusan AppCache, lalu mendapati bahwa Anda perlu melakukan rollback ke penerapan AppCache sebelumnya, Anda harus memastikan bahwa Anda membatalkan pendaftaran pekerja layanan tersebut. Selama ada pekerja layanan terdaftar dalam cakupan untuk halaman tertentu, AppCache tidak akan digunakan.
Kisah lintas platform
Sebaiknya Anda menghubungi vendor browser tertentu jika ingin mengetahui informasi selengkapnya tentang rencana mereka untuk menghapus AppCache.
Firefox di semua platform
Firefox menghentikan penggunaan AppCache di rilis 44 (September 2015), dan telah menghapus dukungan untuknya di build Beta dan Nightly mulai September 2019.
Safari di iOS dan macOS
Safari menghentikan penggunaan AppCache pada awal tahun 2018.
Chrome di iOS
Chrome untuk iOS adalah kasus khusus, karena menggunakan mesin browser yang berbeda dengan Chrome di platform lain: WKWebView. Saat ini, pekerja layanan tidak didukung di aplikasi iOS yang menggunakan WKWebView, dan pengumuman penghapusan AppCache Chrome tidak mencakup ketersediaan AppCache di Chrome untuk iOS. Perlu diingat hal ini jika Anda tahu bahwa aplikasi web Anda memiliki audiens Chrome untuk iOS yang signifikan.
WebView Android
Beberapa developer aplikasi Android menggunakan WebView Chrome untuk menampilkan konten web, dan mungkin juga menggunakan AppCache. Namun, uji coba origin tidak dapat diaktifkan untuk WebView. Sehubungan dengan hal itu, Chrome WebView akan mendukung AppCache tanpa uji coba origin hingga penghapusan akhir dilakukan, yang diperkirakan akan terjadi di Chrome 90.
Pelajari lebih lanjut
Berikut beberapa referensi untuk developer yang bermigrasi dari AppCache ke pekerja layanan.
Artikel
- Service Worker: Pengantar
- Siklus Proses Service Worker
- Pelatihan Progressive Web App
- Keandalan Jaringan
Alat
Mendapatkan bantuan
Jika Anda mengalami masalah saat menggunakan alat tertentu, buka masalah di repositori GitHub-nya.
Anda dapat mengajukan pertanyaan umum tentang migrasi dari AppCache di Stack Overflow, menggunakan tag html5-appcache
.
Jika Anda menemukan bug terkait penghapusan AppCache Chrome, laporkan menggunakan issue tracker Chromium.
Gambar utama berdasarkan Smithsonian Institution Archives, Acc. 11-007, Box 020, Image No. MNH-4477.