Perbedaan Cookies, Session, dan Local storage

Pengertian

Session, cookies, dan local storage adalah teknologi yang digunakan untuk menyimpan data pada klien (browser) sehingga data tersebut dapat digunakan pada saat yang berbeda. Namun, mereka memiliki perbedaan dalam hal jangka waktu penyimpanan dan cara kerja.


Cookies

Cookies adalah file yang disimpan pada komputer pengguna oleh sebuah website. Cookies dapat digunakan untuk menyimpan data yang akan digunakan pada saat yang berbeda, misalnya untuk mengingat preferensi pengguna atau untuk menyimpan status login. Cookies dapat ditentukan jangka waktu penyimpanannya (sekian jam, hari, atau tahun).


Session

Session adalah mekanisme yang digunakan untuk menyimpan data sementara pada server. Data yang disimpan dalam session diidentifikasi dengan ID session yang unik. Ketika pengguna mengakses sebuah website, server akan mengenerate ID session yang unik dan menyimpannya dalam memori server. Setiap kali pengguna melakukan request ke server, ID session tersebut akan dikirimkan kembali ke server sebagai identifikasi dari pengguna. Data yang disimpan dalam session dihapus ketika sesi berakhir (ketika pengguna menutup browser atau logout).


Local storage

Local storage adalah mekanisme yang digunakan untuk menyimpan data pada klien (browser) yang dapat digunakan pada saat yang berbeda. Data yang disimpan dalam local storage tersimpan dalam memori komputer pengguna dan tidak akan dihapus sampai didelete secara manual atau ditentukan jangka waktu penyimpanannya.


Sejarah

  • Cookies: Cookies dikembangkan oleh Lou Montulli pada tahun 1994. Montulli bekerja di Netscape Communications pada saat itu dan mengembangkan cookies sebagai solusi untuk mengingat preferensi pengguna dan status login pada saat yang berbeda.
  • Session: Session dikembangkan pertama kali pada tahun 1995 oleh Rasmus Lerdorf, seorang yang membuat bahasa pemrograman PHP.
  • Local storage: Local storage dikembangkan oleh Web Storage Working Group pada tahun 2008. Local storage merupakan evolusi dari mekanisme sebelumnya yang disebut cookies.

Konsep Dasar

  • Session: Data disimpan pada server, diidentifikasi dengan ID session yang unik, dan dihapus ketika sesi berakhir.
  • Cookies: Data disimpan pada komputer pengguna, dapat ditentukan jangka waktu penyimpanannya, dan dikirimkan kembali ke server setiap kali pengguna melakukan request.
  • Local storage: Data disimpan pada komputer pengguna, tidak akan dihapus sampai didelete secara manual atau ditentukan jangka waktu penyimpanannya.

Tabel Perbandingan

SessionCookiesLocal storage
PenyimpananServerKlien (komputer pengguna)Klien (komputer pengguna)
IdentifikasiID session yang unikCookies yang ditentukan oleh serverTidak perlu ditentukan identifikasi
Jangka WaktuDihapus ketika sesi berakhirDapat ditentukan jangka waktu penyimpanannyaTidak akan dihapus sampai didelete secara manual atau ditentukan jangka waktu penyimpanannya
KeamananData disimpan pada server yang dapat diakses oleh developer dan administratorData disimpan pada komputer pengguna, sehingga lebih rentan terkena serangan hackerData disimpan pada komputer pengguna, sehingga lebih rentan terkena serangan hacker
KompatibilitasKompatibel dengan semua jenis aplikasi webKompatibel dengan semua jenis aplikasi webKompatibel dengan semua jenis aplikasi web yang menggunakan browser modern

Kesimpulan

Secara umum, jika kita ingin menyimpan data yang akan digunakan dalam jangka waktu yang pendek dan dihapus ketika browser ditutup, maka kita dapat menggunakan session. Namun jika kita ingin data tetap tersimpan dalam jangka waktu yang lebih lama, maka kita dapat menggunakan cookies atau local storage. Namun perlu diingat bahwa cookies dan local storage lebih rentan terkena serangan hacker dibandingkan session yang disimpan pada server.

Itulah penjelasan mengenai perbedaan session, cookies, dan local storage. Setiap teknologi memiliki kelebihan dan kekurangan masing-masing dan pemilihan teknologi yang digunakan akan tergantung pada kebutuhan aplikasi yang akan dikembangkan.

Baca juga:

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top