|
Cookie
tidak berbahaya
Oleh
: Yohanes
Nugroho
Teknis
Sebelum
dapat memahami cookie Anda harus tahu tentang
HTTP. HTTP merupakan suatu protokol stateless
yang digunakan untuk world wide web (WWW). Istilah
World wide web tentunya Anda sudah tahu. Ada dua
istilah yang perlu dijelaskan: protokol dan stateless.
Secara singkat dapat dikatakan Protokol merupakan
suatu kesepakatan mengenai bagaimana komunikasi
akan dilakukan [Tanenbaum, 1992]. Sedangkan stateless
artinya protokol ini tidak mempertahankan informasi
antara satu permintaan dengan pemintaan lainnya.
Server HTTP akan melayani suatu permintaan tanpa
tergantung permintaan sebelumnya atau permintaan
sesudahnya. Spesifikasi HTTP/1.0 bisa dilihat
di RFC 1945 dan HTTP/1.1 bisa dilihat di RFC 2068.
Dengan
sifatnya yang stateless, akan sangat sulit untuk
membuat suatu aplikasi dengan protokol HTTP yang
perlu menangani sebuah sesi (misalnya belanja
online). Dalam konteks ini suatu sesi adalah serangkaian
permintaan yang berupa suatu kesatuan, misalnya
mulai dari Anda login, memilih barang, melakukan
pembayaran, sampai logout. Meskipun saat itu ada
orang lain yang sama-sama login dan sama-sama
memilih barang, barang yang Anda pilih tidak akan
bercampur dengan orang itu karena Anda dan orang
itu memiliki sesi yang berbeda.
Cookie merupakan salah satu cara untuk menciptakan
suatu stateful session dengan HTTP, selain
cookie masih ada cara yang lain, namun cara ini
yang dinilai paling nyaman dan menjadi standar
untuk saat ini. Secara lengkap cara kerja cookie
bisa dilihat di RFC 2109.
Wujudnya
cookie itu seperti apa?
Wujudnya
seperti yang biasanya disuguhkan waktu Natal atau
Lebaran. Tapi itu cookie yang lain. Cookie yang
ini adalah berupa informasi dalam bentuk teks yang
dipertukarkan oleh client dan server (yang membuat
cookie ini adalah server). Di dalam cookie ini ada
beberapa informasi, yaitu nama server yang memberikan,
path cookie, isi cookienya dan tanggal kadaluarsanya.
Ketika menerima sebuah cookie, cookie itu akan disimpan
oleh browser didalam cookie jar (toples kue) biasanya
ini berupa file teks. Ketika browser mengunjungi
suatu site yang namanya ada di cookie jar, pathnya
juga sama maka ketika meminta halaman untuk site
itu isi cookie juga dikirim.
Jika
Anda masih penasaran seperti apa sih tampang sebuah
cookie. Ini saya berikan contoh cookie dari browser
lynx yang saya dapat dari google:
.google.com FALSE / FALSE 2147368447 PREF ID=490beaea066057e2:TM=959406003
Setiap
kali saya mengunjungi google.com cookie itu akan
dikirim ke sana.
Apa
yang bisa dilakukan cookie?
Cookie
dipakai untuk menyimpan informasi di sisi client
oleh suatu server. Jadi yang menulis isi cookie
adalah webserver, dan klien yang menyimpannya. Untuk
setiap server, besarnya suatu cookie dibatasi dan
jumlahnya juga, jadi sebuah server tidak akan bisa
memberikan cookie dalam jumlah yang banyak atau
dalam ukuran yang besar untuk memenuhi harddisk
Anda.
Cookie
bisa dipakai untuk menyimpan informasi login Anda
untuk digunakan pada halaman-halaman berikutnya,
cookie juga bisa digunakan untuk menyimpan informasi
tambahan agar Anda tidak perlu login setiap kali
mengunjungi suatu site.
Cookie juga bisa digunakan untuk memantau halaman
mana saja yang sudah Anda kunjungi dalam suatu
site. Ini yang biasanya dibesar-besarkan oleh
media, kata mereka : Anda bisa dilacak dengan
cookie. RFC 2109 sendiri sudah menyinggung hal
ini:
An origin server could create a Set-Cookie header to track the path
of a user through the server. Users may object to this behavior as
an intrusive accumulation of information, even if their identity is
not evident. (Identity might become evident if a user subsequently
fills out a form that contains identifying information.)
|