0Pricing
HTML Academy · Pelajaran

localStorage vs sessionStorage

Pahami masa hidup dan cakupan setiap jenis penyimpanan.

localStorage vs sessionStorage adalah pelajaran HTML Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar HTML Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus HTML Academy mencakup 4 pelajaran total.

Ikhtisar API Penyimpanan Web

API Penyimpanan Web menyediakan dua penyimpanan pasangan kunci-nilai di sisi klien: localStorage (tetap ada di antara sesi) dan sessionStorage (dihapus saat tab ditutup). Keduanya menyimpan nilai teks dan dapat diakses secara sinkron melalui JavaScript pada asal yang sama.

Persistensi localStorage

Data dalam localStorage tetap ada sampai dihapus secara eksplisit oleh kode, pengguna, atau penghapusan data browser. Data tetap ada setelah browser dimulai ulang, halaman dimuat ulang, dan tab ditutup. Kapasitas biasanya 5–10MB per asal, bergantung pada browser.

Cakupan sessionStorage

sessionStorage berlaku untuk tab dan sesi browser saat ini. Data tetap ada setelah halaman dimuat ulang dalam tab yang sama, tetapi dihapus saat tab ditutup. Dua tab yang membuka situs yang sama memiliki sessionStorage terpisah dan terisolasi—keduanya tidak berbagi data.

Kesamaan API

Kedua penyimpanan memiliki API yang sama: setItem(key, value), getItem(key), removeItem(key), clear(), dan properti length. Kode yang sama dapat digunakan untuk keduanya—cukup ganti localStorage dengan sessionStorage dan sebaliknya.

Memilih di Antara Keduanya

Gunakan localStorage untuk: preferensi pengguna (tema, bahasa), respons API yang disimpan dalam cache, dan fungsi "ingat saya". Gunakan sessionStorage untuk: status langkah panduan/formulir, keranjang belanja sementara sebelum pembayaran, dan data yang tidak boleh tetap ada di antara kunjungan karena alasan privasi.

Pembatasan Asal yang Sama

Kedua penyimpanan dibatasi secara ketat berdasarkan asal (protokol + host + port). https://example.com tidak dapat membaca localStorage yang ditetapkan oleh http://example.com. Ini adalah batas keamanan—subdomain juga merupakan asal yang terpisah, kecuali document.domain dimanipulasi (sudah usang).

Kapasitas Penyimpanan

Keduanya memiliki batas sekitar 5MB per asal di sebagian besar browser. Jika batas terlampaui, akan muncul QuotaExceededError. Kebutuhan penyimpanan data berukuran besar memerlukan IndexedDB, yang mendukung data terstruktur hingga gigabita. Penyimpanan Web ditujukan untuk pasangan kunci-nilai kecil, bukan blob biner atau kumpulan data besar.

Sifat Sinkron

Pembacaan dan penulisan Penyimpanan Web bersifat sinkron dan memblokir utas utama. Untuk pembacaan atau penulisan berukuran besar, hal ini dapat menyebabkan halaman tersendat. Pilih IndexedDB untuk operasi data besar yang sering dilakukan. Jaga agar nilai Penyimpanan Web tetap kecil dan jarang ditulis untuk menghindari masalah kinerja.

Pola Serialisasi

Penyimpanan Web hanya menyimpan teks. Serialisasikan objek dengan JSON.stringify(); deserialisasikan dengan JSON.parse(). Tangani kegagalan penguraian: try { return JSON.parse(stored) } catch { return defaultValue }. Nilai yang rusak atau bukan JSON dalam penyimpanan akan menimbulkan kesalahan penguraian.

Penyimpanan dalam Mode Privat/Penyamaran

localStorage dalam mode privat/penyamaran dihapus saat semua jendela privat ditutup—perilakunya seperti sessionStorage. Kode yang mengandalkan localStorage untuk status autentikasi harus menangani kondisi ketika localStorage terhapus secara tidak terduga.

Pembatasan Pihak Ketiga

Browser semakin membatasi akses penyimpanan pihak ketiga. Bingkai tersemat dari third-party.com pada first-party.com tidak dapat mengakses localStorage milik third-party.com. ITP dari Safari dan Enhanced Tracking Protection dari Firefox mempartisi penyimpanan—penggunaan pihak pertama tidak terpengaruh.

Uji Pengetahuan

Kapan sessionStorage dihapus?

Ringkasan

localStorage tetap ada tanpa batas waktu hingga dihapus secara terprogram atau oleh pengguna; sessionStorage dihapus saat tab ditutup. Keduanya merupakan penyimpanan pasangan kunci-nilai berbasis teks yang sinkron dan dibatasi berdasarkan asal, dengan kapasitas sekitar 5MB. Gunakan localStorage untuk preferensi dan status persisten; gunakan sessionStorage untuk status sementara yang berlaku dalam sesi dan tidak boleh tetap ada setelah tab ditutup.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “localStorage vs sessionStorage” gratis?

Ya — teks lengkap “localStorage vs sessionStorage” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus HTML Academy, upgrade ke CoddyKit PRO. Kursus HTML Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “localStorage vs sessionStorage”?

Pahami masa hidup dan cakupan setiap jenis penyimpanan. Kamu berlatih HTML Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai HTML Academy?

Tidak diperlukan pengalaman sebelumnya. HTML Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.

Berapa lama pelajaran “localStorage vs sessionStorage” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran HTML Academy ini?

Ya. Setiap pelajaran HTML Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. localStorage vs sessionStorage
  2. Mendapatkan Mengatur dan Menghapus Item
  3. Mendengarkan Peristiwa Penyimpanan
  4. Keamanan Hal yang Tidak Boleh Disimpan di Penyimpanan
← Kembali ke HTML Academy