ওয়েব এমনভাবে ডিজাইন করা হয়েছে যাতে একটি ওয়েব ব্রাউজার থেকে একটি ওয়েবসাইটের প্রতিটি অনুরোধ আলাদা হয়। ডিজাইন অনুসারে, ওয়েবের কোন "মেমরি" নেই। প্রতিবার আপনি একটি ওয়েব পৃষ্ঠা খুললে, আপনি যে ওয়েবসাইটটি পরিদর্শন করছেন সেটি আপনার শেষ সেশনের তথ্য মনে রাখতে পারে না। এটি ওয়েবকে দক্ষ এবং সহজ করতে সাহায্য করে, যেহেতু অনুরোধ এবং প্রতিক্রিয়াগুলি ট্র্যাক করার জন্য কোনও ব্যবস্থার প্রয়োজন নেই৷
কিন্তু ওয়েবের ভুলে যাওয়া প্রকৃতিও একটি সমস্যা উপস্থাপন করে। উদাহরণ স্বরূপ, আপনি যে ওয়েবসাইটটিতে আছেন সেটি মনে রাখতে না পারলে একটি শপিং কার্ট কীভাবে কাজ করবে?
সেই সমস্যা সমাধানের জন্য কুকিজ উদ্ভাবন করা হয়েছিল।
কুকিজ ওয়েবসাইট মেমরি দেয়
আপনি যখন একটি ওয়েবসাইটে একটি পৃষ্ঠায় যান, তখন আপনার ওয়েব ব্রাউজার পৃষ্ঠায় অন্তর্ভুক্ত সংস্থানগুলির জন্য ওয়েবসাইটটির সার্ভারে অনুরোধ করে, যেমন HTML, CSS, JavaScript বা ছবি৷
ওয়েব ব্রাউজার এবং ওয়েবসাইট HTTP প্রোটোকল অনুসরণ করে ইন্টারঅ্যাক্ট করে। এটি যোগাযোগের জন্য নিয়মের একটি প্রমিত সেট ।
একটি রিসোর্সের জন্য একটি HTTP অনুরোধের প্রতিক্রিয়া হিসাবে, ওয়েবসাইট সার্ভার রিসোর্সের সাথে শিরোনাম নামে অতিরিক্ত তথ্য অন্তর্ভুক্ত করতে পারে। একটি HTTP প্রতিক্রিয়া সহ একটি Set-Cookie
শিরোনাম আপনার ব্রাউজারকে কিছু পাঠ্য সংরক্ষণ করতে বলে: একটি নাম এবং একটি মান৷ এটি একটি কুকি হিসাবে পরিচিত। উদাহরণস্বরূপ, প্রতিক্রিয়া শিরোনাম Set-Cookie: cat=tabby
আপনার ব্রাউজারকে "cat" নাম এবং মান "tabby" সহ একটি কুকি সংরক্ষণ করতে বলে।
একবার সেই কুকি সেট হয়ে গেলে, আপনার ব্রাউজার থেকে ওয়েবসাইটের পরবর্তী অনুরোধে শিরোনামটি অন্তর্ভুক্ত হবে Cookie: cat=tabby
। ওয়েবসাইটের সার্ভার অনুরোধ শিরোনাম থেকে কুকি অ্যাক্সেস করতে পারে এবং মান ব্যবহার করতে পারে।
কুকিজ কিভাবে কাজ করে: ধাপে ধাপে
কল্পনা করুন আপনি cats.example
ওয়েবসাইটে যান। সাইটটি আপনাকে একটি বিড়ালের একটি এলোমেলো ছবি দেখাতে চায় এবং কোন বিড়ালটি আপনাকে প্রদর্শিত হয়েছে তার একটি রেকর্ড রাখতে চায়৷
নিম্নলিখিত পদক্ষেপগুলি ব্যাখ্যা করে যে কীভাবে এটি কুকিজ দিয়ে করা যেতে পারে।
1. ব্রাউজার একটি ফাইলের অনুরোধ করে৷
আপনি cats.example
ওয়েবসাইটের হোমপেজে যান।
একবার আপনার ব্রাউজার হোমপেজ এইচটিএমএল প্রক্রিয়া করা হয়ে গেলে, এটি cats.example
থেকে cat.jpg
সহ পৃষ্ঠার ফাইলগুলির জন্য অনুরোধ করে।

2. ওয়েবসাইট সার্ভার সাড়া দেয়
cats.example
এর সার্ভার cat.jpg
ইমেজ ফাইলের সাথে সাড়া দেয়।
প্রতিক্রিয়া সহ, সার্ভারে একটি শিরোনাম রয়েছে: Set-Cookie: cat=tabby
।

3. ব্রাউজার সাড়া পায়
আপনার ব্রাউজার ইমেজ ফাইল গ্রহণ করে, এবং Set-Cookie: cat=tabby
হেডার এটির সাথে অন্তর্ভুক্ত।
একটি কুকি সংরক্ষণ করা হয়: নাম cat
, মান tabby
।

4. ব্রাউজার অতিরিক্ত অনুরোধ করে
এখন থেকে, আপনার ব্রাউজারে শিরোনাম অন্তর্ভুক্ত করে Cookie: cat=tabby
অনুরোধ সহ cats.example
.

cats.example
ওয়েব সার্ভার যখন একটি অনুরোধ পায়, তখন এটি কুকি প্রক্রিয়া করতে পারে এবং সেই মান দিয়ে যা খুশি তা করতে পারে—যেমন নিশ্চিত করা যে এটি আপনাকে আবার একই ট্যাবি বিড়ালের ছবি পাঠাবে না।
এখানে পুরো কুকি প্রক্রিয়া আছে:
- আপনার ব্রাউজার একটি ওয়েবসাইটের সার্ভারে একটি ফাইলের জন্য একটি অনুরোধ করে৷
- সার্ভারে একটি শিরোনাম অন্তর্ভুক্ত করতে পারে যেমন
Set-Cookie: cat=tabby
অনুরোধের জবাবে পাঠানো ফাইলের সাথে। - যখন আপনার ব্রাউজার প্রতিক্রিয়া পায়, তখন এটি কুকি সংরক্ষণ করে।
- প্রতিটি পরবর্তী অনুরোধের সাথে, আপনার ব্রাউজার একটি
Cookie: cat=tabby
হেডার।

JavaScript দিয়ে কুকিজ অ্যাক্সেস করুন
পূর্ববর্তী উদাহরণ একটি কুকি সেট করতে Set-Cookie
প্রতিক্রিয়া শিরোনাম ব্যবহার করে।
document.cookie
পদ্ধতি ব্যবহার করে JavaScript দিয়েও কুকি তৈরি করা যায়।
ডেমো ব্যবহার করে দেখুন: javascript-cookie.glitch.me ।
আরও জানুন: নথি: কুকি সম্পত্তি ।
কেন আমরা কুকিজ প্রয়োজন?
1994 সালে, ইঞ্জিনিয়ার লু মন্টুলি সফ্টওয়্যার কোম্পানি নেটস্কেপে কাজ করছিলেন, যেটি 1990-এর দশকের মাঝামাঝি সবচেয়ে জনপ্রিয় ওয়েব ব্রাউজার তৈরি করতে গিয়েছিল। ইতিমধ্যে, একটি টেলিকম কর্পোরেশন, এমসিআই, বিশ্বের প্রথম অনলাইন স্টোরগুলির একটির জন্য একটি শপিং কার্ট তৈরি করার চেষ্টা করছে৷ এমসিআই তাদের সমস্যা ব্যাখ্যা করার জন্য মন্টুলির সাথে যোগাযোগ করেছিল। মন্টুলি HTTP-তে একটি বৈশিষ্ট্য যুক্ত করে প্রতিক্রিয়া জানিয়েছেন যা একটি সাইটকে ব্যবহারকারীর ওয়েব ব্রাউজারে অল্প পরিমাণ পাঠ্য, একটি নাম এবং একটি মান সংরক্ষণ করতে সক্ষম করে: cart-id=123
এর মতো কিছু। তিনি এটিকে "কুকি" বলে অভিহিত করেছেন, যেহেতু সেই দিনগুলিতে প্রোগ্রামাররা ডেটা যোগাযোগের সাথে অন্তর্ভুক্ত অতিরিক্ত তথ্যের একটি ছোট অংশের জন্য "ম্যাজিক কুকি" শব্দটি ব্যবহার করত।
লু তার HTTP কুকির কাজ এক সপ্তাহেরও কম সময়ের মধ্যে সম্পন্ন করেছেন। তিনি খুব কমই জানতেন যে কুকিজ বিজ্ঞাপন, লগ-ইন, অর্থপ্রদান, জালিয়াতি সনাক্তকরণ এবং অন্যান্য গুরুত্বপূর্ণ ওয়েব পরিষেবাগুলির জন্য মৌলিক হবে৷ কুকিজ একটি খুব সাধারণ প্রযুক্তি যার সুদূরপ্রসারী পার্শ্বপ্রতিক্রিয়া রয়েছে।
কুকিজ জন্য ব্যবহার করে
কুকিজ ব্রাউজারকে ব্যবহারকারী সম্পর্কে অল্প পরিমাণ তথ্য সঞ্চয় করার অনুমতি দেয়, একাধিক অনুরোধে কিছু "মনে রাখতে"। কুকির একাধিক ব্যবহার রয়েছে:
- সেশন পরিচালনা
একটি ওয়েবসাইটকে ব্যবহারকারীকে শনাক্ত করার অনুমতি দিন, উদাহরণস্বরূপ বিভিন্ন পৃষ্ঠা জুড়ে একটি লগ-ইন অবস্থা বজায় রাখা। - ব্যক্তিগতকরণ
ওয়েবসাইট অভিজ্ঞতা কাস্টমাইজ করতে ব্যবহারকারীর পছন্দগুলি যেমন ভাষা, থিম বা সম্প্রতি দেখা আইটেমগুলি সংরক্ষণ করুন৷ - ট্র্যাকিং
ঐতিহাসিকভাবে, লক্ষ্যযুক্ত বিজ্ঞাপন এবং অন্যান্য ব্যবহারের ক্ষেত্রে ওয়েবসাইট জুড়ে ব্যবহারকারীর আচরণ ট্র্যাক করতে কুকিজ ব্যবহার করা হয়েছে।
কুকিগুলি বেশিরভাগই শনাক্তকারীর জন্য ব্যবহৃত হয়, সরাসরি তথ্য সঞ্চয় করার পরিবর্তে।
উদাহরণস্বরূপ, একটি অনলাইন পোষা দোকানে আপনার শপিং কার্টের জন্য একটি কুকি পণ্য তালিকাভুক্ত করবে না, বরং একটি অ্যাকাউন্ট আইডি প্রদান করবে যা পোষা প্রাণীর দোকানটিকে সার্ভার-সাইড ডেটা স্টোরেজে আপনার কার্টে কী আছে তা দেখতে দেয়৷
পোষা প্রাণীর দোকান সার্ভারের কাছে একটি অনুরোধ এই মত একটি কুকি হেডার অন্তর্ভুক্ত করতে পারে:
Cookie: _cart=CART1.2.34567890.123456789
সার্ভার তারপর তার ডেটাস্টোরে _cart
অ্যাকাউন্টটি দেখতে পারে এবং অনুরোধ সম্পর্কে অন্যান্য তথ্য অন্তর্ভুক্ত করতে পারে।