Skip navigation


Session adalah sebuah pertukaran informasi semi permanen antara dua buah device. Dengan menggunakan session sebuah device terus dapat mengenali sebuah device identik dalam jangka waktu yang tidak terlalu lama dan dapat menyimpan informasi mengenai komunikasi antara kedua device tersebut. Session ini bersifat stateful (meski mungkin ada yang tidak, tapi gw pribadi gak tau contohnya). Sebuah device dapat mengingat apa sih yang terjadi antara device tersebut dengan sebuah device yang lain selama komunikasi berlangsung.

3wayhandshakeContoh session adalah TCP session. Pada awal sebuah komunikasi TCP, kedua device akan membuka sebuah socket untuk berkomunikasi. Sebuah TCP session adalah dari awal sebuah device mengirimkan SYN sampai dengan pesan ACK penutupan koneksi tersebut.

Di dalam desain protokol, kita perlu mengetahui state sebuah device. Dengan adanya session, state tersebut dengan mudahnya diketahui selama kedua device masih berada dalam session. Pada contoh di post-post sebelumnya, awal sebuah session dimulai ketika sebuah socket selesai melakukan blocking dan menerima koneksi sampai socket ditutup. Selama sesi ini kedua device bertukar pesan-pesan. Pesan-pesan ini nantinya akan diparsing oleh kedua device berdasarkan protokol yang sudah ditetapkan oleh si desainer protokol.

Akan tetapi ada beberapa protokol yang sifatnya stateless, seperti protokol HTTP. Pada protokol ini, client hanya mengirim sebuah HTTP request dan server mengembalikan sebuah HTTP response. Hal ini dirasa cukup karena pada awalnya HTTP mungkin digunakan untuk static web. Pada penggunaan selanjutnya ada kebutuhan untuk membuat sebuah web sedikit lebih statis. Kemudian diciptakanlah sebuah mekanisme session di atas protokol HTTP.

Pada mekanisme ini, saat server menerima request dari sebuah client, server tersebut akan memeriksa apakah client tersebut sudah berada dalam sebuah session atau belum. Jika belum maka server membangkitkan sebuah hash dan menyimpannya pada basis data. Setelah itu server akan mengembalikan response yang disertai dengan hash tersebut pada header dari response. Selanjutnya si client diwajibkan untuk menyertakan hash tersebut pada header dari request yang dikirim kepada si server. Dengan demikian server dapat mengetahui apakah si client sudah berada pada sebuah session atau belum.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: