Cookie ဆိုတာက ကျနော်တို့ ရဲ့ computer မှာ သိမ်းထားတဲ့ text file အသေးစားလေးတွေပါ၊ file တွေထဲမှာ key value lookup ပုံစံနဲ့ data လေးတွေ store လုပ်ထားပါတယ်။ ဥပမာ- name,mgmg . age,23. Address,yagon စသည်ဖြင့်ဒီလိုပုံစံလေးတွေပေါ့။

ဘာလို့ cookie ကိုသုံးတာလဲ။

အဓိက ကတော့ server နဲ့ browser ကြားမှာ data information တွေကို carry လုပ်ဖို့သုံးပါတယ်။
Cookie တွေကို client side ဖြစ်တဲ့ browser မှာပဲ store လုပ်ထားတာဖြစ်ပါတယ်။

ဥပမာအနေနဲ့ ပြောရရင် ကျနော်တို့ website တစ်ခုကို visit လုပ်ပြီး login form ဖြည့်တယ်ဆိုပါတော့၊ လိုတဲ့ information တွေဖြည့်တယ်။ ဖြည့်ပြီးသွားတဲ့ data တွေကို server က receive လုပ်ပြီးတော့ browser ဆီကို cookie set တွေအနေနဲ့ ပြန်ပို့တယ်။ browser က save လုပ်ထားလိုက်တယ်။ နောက်တစ်ကြိမ် အဲ့ website ကို သွားရင် browser ကနေ သိမ်းထားတဲ့ cookie တွေကို server ဆီပို့တယ် server က identify လုပ်တယ်။ ဒါကြောင့်မို့ အကြိမ်တိုင်း login လုပ်စရာမလိုတော့ဘူး၊ server နဲ့ browser ကြားမှာ cookie set communication ရှိနေတဲ့အတွက်ကြောင့် ဖြစ်ပါတယ်။

Cookie တွေရဲ့ duration ကို cookie တွေ create လုပ်တဲ့အချိန်မှာ တစ်ခါတည်း သတ်မှတ်ထားလို့ရပါတယ်။ ကိုယ်ကြိုက်တဲ့ အချိန်အတိုင်းအတာ တစ်ခုအထိ သတ်မှတ်ထားပြီး အဲ့ဒီ အချိန်ကျော်သွားပြီဆိုရင်တော့ destroy ဖြစ်သွားမှာပါ။

တစ်ခုမှတ်ထားရမှာက cookie တွေကို code နဲ့ အဆင်ပြေသလို manipulate လုပ်လို့ရပါတယ်။ creation, path, expiration date, domain, security, deletion , conditional statement (cookie exist or not )စသည်ဖြင့် research လုပ်ပြီးစမ်းကြည့်လို့ရပါတယ်။ browser ကနေ inspect ထောက်ပြီး application or storage tab ထဲမှာလည်း cookie တွေကို သွားကြည့်နိုင်ပါတယ်။

Session ရဲ့ သဘောတရားနဲ့ cookie & session ဆက်စပ်ပြီးအလုပ်လုပ်ပုံ

Cookie မတူတာတဲ့အချက်က session က server ပေါ်မှာ store လုပ်တယ်။ store လုပ်တဲ့ format က cookie လိုပဲ key value pair လေးတွေကို temporary directory လုပ်ပြီး သိမ်းပါတယ်။

Session နဲ့ cookie ဘယ်လို ဆက်စပ်ပြီး အလုပ်လုပ်လဲဆိုတော့
Session တိုင်းမှာ id ရှိပါတယ်။ ဥပမာ SESSID=1231239718 , အဲ့ဒီ session ID ကို client browser ထဲက cookie တွေထဲမှာသိမ်းထားပါတယ်။ ဆိုတော့ အလုပ်လုပ်ပုံက ကျနော်က website တစ်ခုဆီကိုသွားတယ်ဆိုရင်

  1. Browser ကနေ server ဆီ request ပို့ပါတယ်။
  2. Request အသစ်ဆိုရင် server ကနေ sessionid နဲ့အတူ cookie ပြန်ပို့တယ် (browser က store လုပ်တယ်)။
    Sessionid cookie ထဲမှာရှိတယ်ဆိုရင် (request အသစ်မဟုတ်ရင်) အဲ့ဒီ session နဲ့ သိမ်းထားတဲ့ information တွေကို retrieve လုပ်ပါတယ်။

Ps. Cookies တွေ session တွေပို့တယ်ယူတယ်ဆိုတာ data တွေ carry လုပ်ဖို့လိုတဲ့ အချိန်မှာပဲ လုပ်တာဖြစ်ပါတယ်။ request တိုင်းကိုလုပ်နေတာမဟုတ်ပါဘူး။

နောက်တစ်ခုမှတ်ထားရမှာက sensitive ဖြစ်တဲ့ information တွေကို client side မှာ cookie အနေနဲ့ store မလုပ်ထားသင့်ပါဘူး။ cookie တွေကို manipulate လုပ်ရတာက လွယ်ကူတဲ့အတွက် security concern အရ information တွေကို cookie မှာသိမ်းတော့မယ်ဆို sensitive ဖြစ်တဲ့ information တွေမပါဖို့အရေးကြီးပါတယ်။