Persiapan untuk penghapusan AppCache

Chrome 85 menghapus dukungan untuk AppCache secara default. Sebagian besar developer sebaiknya bermigrasi dari AppCache sekarang, dan tidak menunggu lagi.

Menindaklanjuti pengumuman sebelumnya, dukungan untuk AppCache akan dihapus dari Chrome dan browser berbasis Chromium lainnya. Sebaiknya developer keluar dari AppCache sekarang, 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.

Rentang waktu

Perubahan terbaru pada jadwal rilis Chrome berarti waktu untuk beberapa langkah ini dapat bervariasi. Kami akan berupaya untuk terus memperbarui linimasa ini. Namun, untuk saat ini, migrasikan dari AppCache sesegera mungkin, bukan menunggu pencapaian tertentu.

Fitur yang "tidak digunakan lagi" masih ada, tetapi mencatat pesan peringatan yang menganjurkan agar tidak digunakan. Fitur yang "dihapus" sudah tidak 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 "Balik" dimulai Chrome 84 (Juli 2020)
Penghapusan dari konteks yang aman, kecuali bagi pengguna yang memilih ikut serta dalam uji coba origin Chrome 85 (Agustus 2020)
Penghapusan sepenuhnya dari konteks yang aman bagi semua orang, setelah menyelesaikan uji coba origin 5 Oktober 2021 (sekitar Chrome 95)

Uji coba origin

Linimasa mencantumkan dua target penghapusan mendatang. Mulai Chrome 85, AppCache tidak akan lagi tersedia di Chrome secara default. Developer yang memerlukan waktu tambahan untuk melakukan migrasi dari AppCache dapat mendaftar ke uji coba origin "mundur" guna 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 (sekitar Chrome 95). Pada saat itu, AppCache akan dihapus sepenuhnya untuk semua pengguna, bahkan bagi pengguna yang telah mendaftar ke uji coba origin.

Untuk berpartisipasi dalam uji coba origin "terbalik":

  1. Minta token untuk origin Anda.
  2. Tambahkan token ke halaman HTML Anda. Ada dua cara untuk melakukannya:
    • Tambahkan tag origin-trial <meta> ke bagian atas setiap halaman. Contoh: <meta http-equiv="origin-trial" content="TOKEN_GOES_HERE">
    • Atau, konfigurasikan server Anda untuk menampilkan respons yang berisi header HTTP Origin-Trial. Header respons yang dihasilkan akan terlihat seperti: Origin-Trial: TOKEN_GOES_HERE
  3. Tambahkan token yang sama ke manifes AppCache Anda. Lakukan ini melalui kolom baru dalam manifes Anda, dengan format:
ORIGIN-TRIAL:
TOKEN_GOES_HERE

(Harus ada baris baru antara ORIGIN-TRIAL dan token Anda.)

Anda dapat melihat contoh project yang disematkan di bawah ini, yang menunjukkan penambahan token uji coba origin yang benar ke dalam file index.html dan manifest.appcache.

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 "reverse" AppCache bersifat spesial karena Anda juga perlu mengaitkan token dengan setiap manifes AppCache Anda.

Menambahkan token uji coba origin ke halaman HTML akan mengaktifkan antarmuka window.applicationCache dari dalam aplikasi web Anda. Halaman yang tidak terkait 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, APK ini akan berperilaku seolah-olah AppCache tidak ada.

Menambahkan token uji coba origin ke manifes AppCache Anda menunjukkan bahwa setiap manifes masih valid. Mulai Chrome 85, manifes apa pun yang tidak memiliki kolom ORIGIN-TRIAL akan diperlakukan sebagai format yang salah, dan aturan dalam manifes akan diabaikan.

Waktu dan logistik uji coba origin

Meskipun uji coba origin "terbalik" secara resmi dimulai dengan Chrome 84, Anda dapat mendaftar ke uji coba origin sekarang juga dan menambahkan token ke manifes HTML dan AppCache. Saat audiens aplikasi web diupgrade secara bertahap ke Chrome 84, token apa pun yang telah Anda tambahkan akan berlaku.

Setelah menambahkan token ke manifes AppCache, buka about://appcache-internals untuk mengonfirmasi bahwa instance lokal Chrome Anda (versi 84 atau yang lebih baru) telah mengaitkan token uji coba origin dengan benar ke entri cache manifes Anda. Jika uji coba origin dikenali, Anda akan melihat kolom dengan Token Expires: Tue Apr 06 2021... di halaman tersebut, yang dikaitkan dengan manifes Anda:

antarmuka about://appcache-internals yang menampilkan token yang dikenali.

Pengujian sebelum penghapusan

Sebaiknya Anda bermigrasi dari AppCache sesegera mungkin. Jika Anda ingin menguji penghapusan AppCache di aplikasi web, gunakan tanda about://flags/#app-cache untuk menyimulasikan penghapusannya. Tanda ini tersedia mulai Chrome 84.

Strategi migrasi

Pekerja layanan, yang didukung secara luas di browser saat ini, menawarkan alternatif 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. Secara khusus, AppCache tidak menyediakan pengganti untuk antarmuka window.applicationCache atau peristiwa AppCache yang 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 sama-sama bersifat eksklusif

Sewaktu mengerjakan strategi migrasi Anda, perlu diingat bahwa Chrome akan menonaktifkan fungsi AppCache di halaman apa pun yang dimuat di bawah kontrol pekerja layanan. Dengan kata lain, segera setelah Anda men-deploy pekerja layanan yang mengontrol halaman tertentu, Anda tidak dapat lagi menggunakan AppCache di halaman tersebut.

Oleh karena itu, sebaiknya Anda tidak mencoba bermigrasi ke pekerja layanan satu per satu. Akan salah jika men-deploy pekerja layanan yang hanya berisi beberapa logika caching Anda. Anda tidak dapat kembali menggunakan AppCache untuk "mengisi kekurangan".

Demikian pula, jika Anda men-deploy pekerja layanan sebelum penghapusan AppCache, lalu menemukan bahwa Anda perlu melakukan roll back ke penerapan AppCache sebelumnya, pastikan 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 hubungi vendor browser tertentu jika Anda menginginkan informasi selengkapnya tentang rencana penghapusan AppCache.

Firefox di semua platform

Firefox tidak digunakan lagi AppCache dalam rilis 44 (September 2015), dan telah menghapus dukungan untuk itu dalam versi Beta dan Nightly pada September 2019.

Safari di iOS dan macOS

Safari tidak digunakan lagi AppCache pada awal tahun 2018.

Chrome di iOS

Chrome untuk iOS adalah kasus khusus, karena menggunakan mesin browser yang berbeda dari Chrome pada platform lain: WKWebView. Pekerja layanan saat ini tidak didukung di aplikasi iOS yang menggunakan WKWebView, dan pengumuman penghapusan AppCache Chrome tidak mencakup ketersediaan AppCache di Chrome untuk iOS. Harap perhatikan hal ini jika Anda mengetahui bahwa aplikasi web Anda memiliki audiens Chrome untuk iOS yang signifikan.

WebView Android

Beberapa developer aplikasi Android menggunakan Chrome WebView untuk menampilkan konten web, dan mungkin juga menggunakan AppCache. Namun, Anda tidak dapat mengaktifkan uji coba origin untuk WebView. Oleh karena itu, Chrome WebView akan mendukung AppCache tanpa uji coba origin hingga penghapusan akhir berlangsung, yang diharapkan di Chrome 90.

Pelajari lebih lanjut

Berikut beberapa referensi untuk developer yang bermigrasi dari AppCache ke pekerja layanan.

Artikel

Alat

Mendapatkan bantuan

Jika Anda mengalami masalah saat menggunakan alat tertentu, buka masalah tersebut 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 bug tersebut menggunakan issue tracker Chromium.

Banner besar berdasarkan Smithsonian Institution Archives, Acc. 11-007, Box 020, Image No. MNH-4477.