Banyak yang Menanyakan apa perbedaan antara itu tiga istilah. Website dan web aplikasi adalah sesuatu yang tidak mempunyai fisik, dan keberadaannya hanya ada saat dipanggil. Session, cookies dan cache adalah 3 hal yang biasa dipakai di web untuk membuat solusi dimana cara akses suatu konten atau informasi yang disimpan itu muncul sesuai keinginan, seefisien dan seefektif mungkin.
Suatu website disimpan dalam server untuk menunggu dipanggil. Disaat dia dipanggil, browser akan berkomunikasi langsung dengan server untuk menjawab keinginan si user. Keinginan si user mungkin berbeda antara satu orang dengan yang lainnya. Dan dalam web aplikasi dimana user bisa memasukan preferensi dan data diri, 3 hal ini sangat dibutuhkan untuk menjamin kenyamanan browsing.
Mari kita lihat penjelasan masing2.
Session
Session itu seperti tag. Jadi kalau mau website itu memberikan anda suatu nama dan bereaksi sesuai keinginan anda, session adalah hal yang dibutuhkan. Session menyimpan informasi tentang preferensi yang anda berikan, membuat suatu sesi yang unik untuk anda.
Session, atau sesi, itu seperti appointment ke dokter. Dokter akan melayani kebutuhan anda sesuai keluhan anda, dan melayani kebutuhan pasien lain juga. Tapi dokter tidak akan membocorkan rahasia pasien lainnya kepada anda, baik data diri maupun rekaman medisnya,
Contoh gampang dari session adalah saat suatu website yang menampilkan berita/cerita/konten berdasarkan posisi anda berada, sesuai preferensi yang anda berikan (misalnya: kegemaran anda adalah makanan dan anda memasukan data ini ke website tsb. Disaat anda membuka web itu, tempat makanan favorit anda yang berada di sekitar anda yang muncul). Website layanan ini menyimpan informasi IP anda untuk membuat suatu session khusus untuk anda. Konten ini berbeda dengan apa yang muncul kalau orang lain yang lihat.
Contoh lainnya adalah shopping cart. Disaat anda menambahkan item di keranjang belanja anda, item itu disimpan walaupun anda keluar dari halaman itu, atau bisa juga disimpan walaupun anda sudah browsing ke website lain. Session ini menggunakan cookies yang kemudian disimpan di browser anda sesuai dengan session ID yang diberikan website itu ke halaman web yang anda minta.
Session diciptakan pada saat2 tertentu dari kunjungan anda ke website (contohnya pada saat login), dan dihapus pada saat tertentu juga (saat logout contohnya). Session adalah hal yang membuat interaksi website itu stateful dibanding saat tidak pakai session (stateless). Stateful adalah disaat informasi yang diberikan sebelumnya disimpan dan mempengaruhi konten/informasi/data yang akan diberikan setelahnya. Stateless adalah disaat informasi tidak disimpan sehingga tampilan web akan sama saja kalau dilihat oleh anda berulang kali atau oleh orang lain.
Cookies
Cookies adalah data yang menyimpan informasi. Cookie ini diberikan oleh website yang anda kunjungi yang kemudian disimpan di browser anda. Guna cookies ini adalah pada saat anda kembali ke website itu setelah menutupnya, cookies akan mengirim data yang disimpannya kembali ke server website itu untuk memberitahu keberadaan dan kegiatan anda sebelumnya.
Cookies, walaupun tidak bisa membawa virus atau malware, bisa membocorkan privasi anda kalau cookies itu adalah jenis tracking cookies. Cookies juga bisa menyimpan username dan password anda, form2 yang anda ketik, sampai informasi kartu kredit.
Kegunaan lain dari cookies, dan juga yang paling banyak digunakan, adalah untuk membantu session dan login (authentification cookies). Cookies jenis ini adalah yang menyimpan informasi untuk mengetahui apakah anda login apa tidak ke website yang pernah anda kunjungi sebelumnya.
Menurut Wikipedia, cookies ada beberapa macam: Session cookie, Persistent cookie, Secure cookie, HttpOnly cookie, Third-party cookie, Supercookie dan Zombie cookie.
Cookies ini mempunyai 7 komponen: Nama, Value, Expiry, Path, Domain, Kebutuhan Secure Connection apa tidak, dan bisa atau tidaknya cookie itu diakses selain melalui HTTP (misalnya oleh Javascript.) Atribut dari cookies termasuk Maximum Age, Secure flag and HttpOnly flag.
Karena informasi yang bisa dibilang rahasia yang disimpan dalam cookies, cookies ini sering jadi "gerbang utama" untuk eksploitasi data diri dan kebiasaan anda di internet.
Cache
Caching, atau web cache, adalah suatu mekanisme dimana web document seperti HTML dan gambar disimpan sementara untuk mengurangi pemakaian bandwith dan mempercepat loading.
Web cache melalui HTTP mempunyai 3 cara untuk mengatur cache yang disimpan:
Freshness adalah untuk mengetahui perlu apa tidaknya item yang di cache diambil ulang di server. Ini dilakukan dengan melihat atribut Expires, dan melalui Cache-control max-age
Validation untuk mengetahui item yang di cache merespon dengan baik walaupun item tersebut sudah kadaluarsa. Atribut yang dilihat adalah Last-Modified header, If-Modified-Since header, dan ETag.
Invalidation adalah saat anda meminta suatu dan hal yang anda minta itu melalui cache tanpa diperiksa. Misalnya jika cache response mendapatkan perintah POST, PUT atau DELETE, hal yang anda minta akan tembus melalui cache yang sudah disimpan tanpa melihat atributnya.
Pada saat anda browsing di internet dan mengunjungi website2, ketiga hal diatas ini selalu bekerja dibelakang layar. Karena kebanyakan orang menggunakan browser untuk browsing internet, browser2 ternama punya setting khusus untuk mengatur hal2 ini seperti harus apa tidaknya browser menyimpan cookies, menghapus session, dll.
Sehinga dapat disimpulkan bahwa Website statefull dan StateLess bisa digambarkan berikut :
STATELESS
STATEFUL
Daftar Pustaka :
- http://thor.info.uaic.ro/~adrianaa/grai/grid-services-tutorial.html
- See more at: http://www.eyerys.com/forum/situs-web-dan-optimisasi-mesin-pencari/1044/penjelasan-session-cookies-cache
artikel yang sangat menarik :)
BalasHapusGak jelas anjing
BalasHapusgobog
BalasHapustolol anjing gua balik ke web ini lagi tai
BalasHapus