এইচটিটিপি একটি কারণে একটি স্টেটলেস প্রোটোকল। এইচটিটিপি-তে সেশনস ওয়েল্ডের অবস্থা। থাম্বের নিয়ম হিসাবে, সেশন স্টেট ব্যবহার করা এড়িয়ে চলুন।
আপডেট: এইচটিটিপি স্তরে কোনও সেশনের ধারণা নেই; সার্ভারগুলি ক্লায়েন্টকে একটি অনন্য আইডি দিয়ে এবং ক্লায়েন্টকে প্রতিটি অনুরোধে পুনরায় জমা দেওয়ার কথা বলে এটি সরবরাহ করে। তারপরে সার্ভার সেই আইডিটি সেশন অবজেক্টের একটি বৃহত হ্যাশটেবলের কী হিসাবে ব্যবহার করে। সার্ভারটি যখনই কোনও অনুরোধ পেয়েছে, অনুরোধের সাথে জমা দেওয়া ক্লায়েন্টের আইডির ভিত্তিতে এটির সেশন আইটেমগুলির হ্যাশটেবলের বাইরে সেশন তথ্য সন্ধান করে। এই সমস্ত অতিরিক্ত কাজ স্কেলিবিলিটির উপর দ্বিগুণ ঘৃণ্য (একটি বড় কারণ এইচটিটিপি রাষ্ট্রবিহীন)।
- Whammy One: এটি একক সার্ভারের কাজ কমিয়ে দেয়।
- ওহামি টু: স্কেল করা শক্ত করে তোলে কারণ এখন আপনি কেবল কোনও পুরানো সার্ভারের জন্য কোনও অনুরোধটি রুট করতে পারবেন না - তাদের সবার একই সেশন হয় না। আপনি একই সার্ভারে প্রদত্ত সেশন আইডি সহ সমস্ত অনুরোধগুলি পিন করতে পারেন। এটি সহজ নয় এবং এটি ব্যর্থতার একক পয়েন্ট (পুরো সিস্টেমের জন্য নয়, তবে আপনার ব্যবহারকারীদের বড় অংশের জন্য)। অথবা, আপনি ক্লাস্টারের সমস্ত সার্ভার জুড়ে সেশন স্টোরেজটি ভাগ করে নিতে পারতেন, তবে এখন আপনার আরও জটিলতা রয়েছে: নেটওয়ার্ক-সংযুক্ত মেমরি, স্ট্যান্ড-একা সেশন সার্ভার ইত্যাদি
এই সমস্ত কিছু দেওয়া, আপনি অধিবেশনটিতে যত বেশি তথ্য রাখবেন তত কার্যকারীতার উপর তত বেশি প্রভাব পড়বে (ভিনকো যেমন উল্লেখ করেছেন)। ভিনকো যেমন উল্লেখ করেছে, যদি আপনার অবজেক্ট সিরিয়ালযোগ্য না হয়, সেশনটি খারাপ ব্যবহার করবে। সুতরাং, থাম্বের নিয়ম হিসাবে, অধিবেশনটিতে একেবারে প্রয়োজনের চেয়ে বেশি কিছু এড়াতে হবে।
@ ভিঙ্কো আপনি যে প্রতিক্রিয়াটি ফেরত পাঠিয়েছেন তাতে ডেটা এম্বেড করে এবং ক্লায়েন্টটি এটি পুনরায় জমা দিয়ে যেমন সার্ভার স্টোর স্টেট থাকার আশেপাশে কাজ করতে পারেন, উদাহরণস্বরূপ, কোনও গোপন ইনপুটটিতে ডেটা প্রেরণ করে। আপনার যদি সত্যিই রাষ্ট্রের সার্ভার-সাইড ট্র্যাকিংয়ের প্রয়োজন হয় তবে এটি সম্ভবত আপনার ব্যাকিং ডেটাস্টোরের মধ্যে থাকা উচিত।
(ভিঙ্কো যোগ করেছেন: পিএইচপি অধিবেশন তথ্য সংরক্ষণের জন্য একটি ডাটাবেস ব্যবহার করতে পারে এবং ক্লায়েন্টটি প্রতিবার ডেটা পুনরায় জমা দেওয়ার ফলে সম্ভাব্য স্কেলাবিলিটি সমস্যাগুলি সমাধান করতে পারে তবে সুরক্ষার সমস্যাগুলির একটি বড় সম্ভাবনা খোলে যা আপনাকে এখনই মনোযোগ দিতে হবে যে ক্লায়েন্টের নিয়ন্ত্রণ সকলের নিয়ন্ত্রণে থাকে) তোমার অবস্থা)