Mungkin kita sering mendengar atau membaca tentang cookies, namun mungkin belum-benar benar memahami cookies: apa itu cookies, manfaat, dan cara kerjanya. Untuk itu, pada kesempatan yang singkat ini kita akan membahas sedikit tentang cookie.
Dikarenakan luasnya pembahasan tentang cookie, maka, artikel ini khusus membahas cookies dari sisi web developer sehingga kita dapat memiliki gambaran ketika bekerja/berinteraksi dengan cookie.
I. Memahami Cookies: Apa Itu Cookies
Cookie adalah data teks yang disimpan pada komputer user oleh suatu website. Penyimpanan data ini umumnya melalui media browser.
Adapun karakteristik cookies adalah sebagai berikut:
- Cookie ini disimpan khusus oleh masing-masing browser, artinya masing-masing browser memiliki data cookie tersendiri.
- Data cookie hanya merujuk ke website tertentu, sehingga ketika browser mengirim data cookie ke webserver, hanya data cookie website tersebut yang akan dikirim.
- Ketika kita merequest alamat website tertentu melalui browser, maka browser juga akan mengirim data cookie yang ada di komputer ke website tersebut.
- Data cookie yang disimpan umumnya maksimal 4096 byte atau 4Kb dan maksimal 180 cookie per domain (chrome), sehingga kita tidak bisa menyimpan data dalam jumlah besar pada cookie.
Masing masing browser menyimpan cookie di tempat yang berbeda, contoh: browser chrome menyimpan data cookie di C:\Users\<username>\AppData\Local\Google\Chrome\User Data\Default
dengan nama file Cookies
II. Melihat dan Menghapus isi cookie
File cookie ini umunya berbentuk database, seperti sqlite, sehingga kita tidak bisa langsung membukanya dengan code editor/text viewer seperti notepad.
Cara yang paling mudah untuk melihat data cookies adalah menggunakan browser.
Pada browser, kita dapat melihat data cookie melalui Web Developer Tools. Karena data cookie ini disimpan per website, maka untuk melihatnya kita harus membuka website tersebut.
Contoh: pada browser chrome, untuk melihat data cookies, buka Developer Tools (F12) kemudian pilih tab Application, selanjutnya pilih bagian cookies
Berikut ini contoh cookie dari detik.com
Pada halaman tersebut kita juga dapat menghapus data cookie.
III. Cara Kerja Cookie
Pada saat kita meload halaman website atau melakukan pengaturan tertentu (misal pengaturan bahasa atau timezone), website tersebut akan memerintahkan browser untuk menyimpan data tertentu ke dalam file cookies.
Selanjutnya, ketika kita meload kembali website tersebut, maka data cookie tersebut juga akan terkirim bersama dengan pengiriman HTTP Header.
Nah, data cookie ini akan digunakan website untuk berbagai keperluan, salah satunya melakukan pengaturan bahasa atau timezone sehingga content yang dikirim sesuai dengan preferensi user.
Bagaimana browser menyimpan cookie?
Bagaimana browser tahu kalau dia diperintahkan untuk menyimpan data cookie?
Data cookie dikirim melalui HTTP header menggunakan Set-Cookie
, sehingga ketika browser membaca header dan menemukan string tersebut, maka akan menyimpan nilai yang dibawa oleh Set-Cookie
ke dalam file cookie.
Contoh kita buat file cookie.php
dengan script sebagai berikut:
<?php
setcookie("theme", 'jagowebdev', time() + (3600 * 24 * 30));
Maka ketika dijalankan, PHP akan menambahkan Set-Cookie
pada HTTP header:
Nah, ketika kita kembali menjalankan file cookie.php
, maka browser akan mengirim data cookie tersebut melalui Cookie:
header
Selanjutnya kita dapat menggunakan data cookie ini untuk melakukan pengaturan tertentu khusus untuk user tersebut.
IV. Manfaat Cookie dan Contoh Penggunaan Cookie
Banyak sekali contoh penggunaan cookie, sobat dapat mengidentifikasikannya sendiri dengan membandingkan data/tampilan/fitur suatu website melalui browser berbeda.
Seperti kita bahas pada bagian apa itu cookie, bahwa cookie disimpan khusus oleh masing-masing browser, sehingga jika data/tampilan/fitur dari suatu website berbeda jika dibuka menggunaakan browser yang berbeda, maka itu tandanya cookie sedang digunakan.
Berikut ini contoh penggunaan cookie:
- Untuk membuat fitur “Remember me” pada login, sehingga ketika kita sudah login pada suatu website dan tidak logout, maka ketika kita kembali lagi ke website tersebut, kita akan berada pada kondisi login.
Contoh ini seperti ketika kita membuka gmail, sekali login, kita tidak akan diminta untuk login lagi setiap kali membukan gmail, kecual jika kita logout
- Fitur shopping chart. fitur ini dapat dicoba peda web e-commerce seperti blibli.com. Buka blibli.com dan beli bebeapa item, besoknya, coba kembali ke website tersebut, maka shopping chart sudah terisi sama persis dengan apa yang kita beli terakhir.
- Google Account. Google akan merekam account yang kita gunakan, sehingga akan memudahkan kita untuk berpindah dari account satu ke account yang lain.
- Iklan. Pernahkan sobat merasa heran ketika berkujug ke suatu website, muncul iklan produk yang sama persis dengan produk yang pernah kita lihat saat kita berkunjung ke web e-commmerce? Nah, disitulah cookie bekerja. itulah salah satu cara provider iklan menyajikan iklan sehingga sesuai dengan kebiasaan kita.
- Pemilihan bahasa, tema website, dan lainnya…
V. Data sensitif
Apakah cookie ini merupakan data sensitif? jawabnya bisa ya bisa tidak, tergantung jenis datanya dan privasi masing masing user.
Karena cenderung mengarah ke privasi, maka, website pada regional tertentu seperti US, diharuskan untuk memberitahukan ke user data apa saja yang akan disimpan ke file cookies dan apa yang akan dilakukan dengan cookie tersebut.
Dari sisi browser, data ini cenderung aman karena hanya digunakan per website, tidak lintas website, yang menjadi masalah ketika ada spyware atau rootkit lain yang mencuri data cookie.
Nah, disinilah anti spyware berperan untuk mengamankan data kita termasuk data cookies.
Penutup
Dengan memahami cookies, diharapkan dapat memberikan gambaran lebih baik tentang cookies, sehingga kita tahu apa yang harus kita lakukan ketika bekerja dengan cookies.
Demikian pembahasan mengenai memahami cookies, semoga bermanfaat.
Subscibe Now
Suka dengan artikel di Jagowebdev.com? jangan sampai ketinggalan, segera join ke milis kami untuk update informasi terbaru dari Jagowebdev.com