Semua yang Perlu Anda Ketahui Tentang Cookie untuk Pengembangan Web – Pernahkah Anda bertanya-tanya bagaimana Anda bisa masuk ke situs web sekali dan tetap masuk, bahkan jika Anda menutup browser Anda? Atau menambahkan item ke keranjang belanja Anda tanpa masuk sama sekali?

inowweb

Semua yang Perlu Anda Ketahui Tentang Cookie untuk Pengembangan Web

inowweb – Disadari atau tidak, cookie ada di mana-mana, dan baik atau buruknya, cookie benar-benar mengubah cara kita menggunakan web. Dalam artikel ini, kita akan membahas riwayat cookie, cara kerjanya, cara menggunakannya dalam JavaScript, dan beberapa masalah keamanan yang perlu diingat.

Sejarah singkat cookie

HTTP, ataupun Hypertext Memindahkan Protocol, merupakan aturan tanpa kewarganegaraan. Bagi Wikipedia, ini merupakan aturan tanpa kebangsaan sebab” tidak membutuhkan server HTTP buat menaruh data ataupun status mengenai tiap konsumen sepanjang sebagian permohonan.”

Anda masih dapat melihat ini hari ini dengan situs web sederhana – Anda mengetikkan URL ke browser, browser membuat permintaan ke server di suatu tempat, dan server mengembalikan file untuk merender halaman dan koneksi ditutup.

Sekarang bayangkan Anda perlu masuk ke situs web untuk melihat konten tertentu, seperti dengan LinkedIn. Prosesnya sebagian besar sama dengan yang di atas, tetapi Anda disajikan dengan formulir untuk memasukkan alamat email dan kata sandi Anda.

Anda memasukkan informasi itu dan browser Anda mengirimkannya ke server. Server memeriksa informasi login Anda, dan jika semuanya terlihat baik, server akan mengirimkan data yang diperlukan untuk merender halaman kembali ke browser Anda.

Baca Juga : Mengenal Komponen Dan Jenis Dari Web Service

Tetapi jika LinkedIn benar-benar tanpa kewarganegaraan, setelah Anda menavigasi ke halaman yang berbeda, server tidak akan mengingat bahwa Anda baru saja masuk. Itu akan meminta Anda untuk memasukkan alamat email dan kata sandi Anda lagi, memeriksanya, lalu mengirimkan data untuk dirender. halaman baru. Itu akan sangat membuat frustrasi, bukan? Banyak pengembang juga berpikir demikian, dan menemukan cara berbeda untuk membuat sesi stateful di web.

Penemuan cookie HTTP

Lou Montoulli, seorang pengembang di Netscape di awal tahun 90-an, memiliki masalah – dia sedang mengembangkan toko online untuk perusahaan lain, MCI, yang akan menyimpan barang-barang di setiap keranjang pelanggan di servernya. Artinya orang harus membuat akun terlebih dahulu, lambat, dan memakan banyak penyimpanan. MCI meminta agar semua data ini disimpan di komputer masing-masing pelanggan. Selain itu, mereka ingin semuanya berfungsi tanpa pelanggan harus masuk terlebih dahulu.

Untuk mengatasi ini, Lou beralih ke ide yang sudah cukup terkenal di kalangan programmer: kue ajaib.

Cookie ajaib, atau hanya cookie, adalah sedikit data yang dilewatkan di antara dua program komputer. Mereka “ajaib” karena data dalam cookie sering kali berupa kunci atau token acak, dan benar-benar hanya dimaksudkan untuk perangkat lunak yang menggunakannya.

Lou mengambil konsep kue ajaib dan menerapkannya ke toko online, dan kemudian ke browser secara keseluruhan. Sekarang setelah Anda mengetahui tentang riwayatnya, mari kita lihat sekilas bagaimana cookie digunakan untuk membuat sesi stateful di web.

Cara kerja cookie

Salah satu cara untuk memikirkan cookie adalah bahwa mereka sedikit seperti gelang yang Anda dapatkan ketika Anda mengunjungi taman hiburan. Misalnya, saat Anda masuk ke situs web, itu seperti proses memasuki taman hiburan. Pertama Anda membayar tiket, kemudian ketika Anda memasuki taman, staf memeriksa tiket Anda dan memberi Anda gelang.

Ini seperti cara Anda masuk – server memeriksa nama pengguna dan kata sandi Anda, membuat dan menyimpan sesi, menghasilkan id sesi yang unik, dan mengirimkan kembali cookie dengan id sesi.

(Perhatikan bahwa id sesi bukan kata sandi Anda, tetapi sesuatu yang benar-benar terpisah dan dibuat dengan cepat. Penanganan kata sandi dan otentikasi yang tepat berada di luar cakupan artikel ini, tetapi Anda dapat menemukan beberapa panduan mendalam di sini .) Saat Anda berada di taman hiburan, Anda dapat melakukan perjalanan apa pun dengan menunjukkan gelang Anda.

Demikian pula, ketika Anda membuat permintaan ke situs web yang Anda masuki, browser Anda mengirimkan cookie Anda dengan id sesi Anda kembali ke server. Server memeriksa sesi Anda menggunakan id sesi Anda, lalu mengembalikan data untuk permintaan Anda. Akhirnya, setelah Anda meninggalkan taman hiburan, gelang Anda tidak lagi berfungsi – Anda tidak dapat menggunakannya untuk kembali ke taman atau melakukan lebih banyak wahana.

Ini seperti keluar dari situs web. Browser Anda mengirimkan permintaan keluar Anda ke server dengan cookie Anda, server menghapus sesi Anda, dan memberi tahu browser Anda untuk menghapus cookie id sesi Anda.

Jika Anda ingin kembali ke taman hiburan, Anda harus membeli tiket lagi dan mendapatkan gelang lain. Dengan kata lain, jika Anda ingin terus menggunakan situs web, Anda harus masuk kembali.

Cara menggunakan cookie

Sekarang setelah Anda mengetahui tentang sejarah cookie dan mengapa cookie digunakan, mari kita lihat beberapa batasan penggunaan cookie, lalu selami beberapa contoh sederhana.

Batasan cookie

Cookie cukup terbatas dibandingkan dengan beberapa alternatif modern untuk menyimpan data di browser seperti localStorageatau sessionStorage. Berikut ini ikhtisar cookie dibandingkan dengan teknologi lainnya

Cookie adalah teknologi yang jauh lebih tua, dan memiliki kapasitas yang sangat terbatas. Namun, ada cukup banyak yang dapat Anda lakukan dengan mereka. Dan ukurannya yang kecil memudahkan browser untuk mengirim cookie dengan setiap permintaan ke server. Perlu juga disebutkan bahwa browser hanya mengizinkan cookie bekerja dari satu domain untuk alasan keamanan.

Jadi, jika Anda masuk ke bank Anda di, katakanlah, ally.com, maka cookie hanya akan berfungsi di dalam domain itu dan subdomainnya. Misalnya, ally.comcookie Anda akan bekerja pada ally.com, ally.com/about, dan subdomain www.ally.com, tetapi tidak axos.com.

Artinya, meskipun Anda memiliki akun dan masuk di keduanya ally.comdan axos.com, situs tersebut tidak akan dapat membaca kuki satu sama lain. Penting untuk diingat bahwa cookie Anda dikirim dengan setiap permintaan yang Anda buat di browser. Ini sangat nyaman, tetapi memiliki beberapa implikasi keamanan serius yang akan kita bahas nanti.

Terakhir, jika ada satu hal yang Anda ambil dari artikel ini, ingatlah bahwa cookie dimaksudkan untuk dibaca dan dikirim secara terbuka, jadi Anda tidak boleh menyimpan informasi sensitif seperti kata sandi di dalamnya.