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
Session | Cookies | Local storage | |
---|---|---|---|
Penyimpanan | Server | Klien (komputer pengguna) | Klien (komputer pengguna) |
Identifikasi | ID session yang unik | Cookies yang ditentukan oleh server | Tidak perlu ditentukan identifikasi |
Jangka Waktu | Dihapus ketika sesi berakhir | Dapat ditentukan jangka waktu penyimpanannya | Tidak akan dihapus sampai didelete secara manual atau ditentukan jangka waktu penyimpanannya |
Keamanan | Data disimpan pada server yang dapat diakses oleh developer dan administrator | Data disimpan pada komputer pengguna, sehingga lebih rentan terkena serangan hacker | Data disimpan pada komputer pengguna, sehingga lebih rentan terkena serangan hacker |
Kompatibilitas | Kompatibel dengan semua jenis aplikasi web | Kompatibel dengan semua jenis aplikasi web | Kompatibel 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:
- Daftar Semua Artikel
- Jenis Otentikasi dan Otorisasi Pada Aplikasi Web
- Perbedaan Metode dan Teknologi Pada AI