ওয়েব অ্যাপ্লিকেশনগুলি স্টেটলেস হওয়া উচিত
ছাইপাঁশ. ওয়েব অনুরোধগুলি রাষ্ট্রহীন হওয়া উচিত। অথবা আরো সঠিকভাবে, ওয়েব অনুরোধ হয় আড়ম্বরহীন।
তবে, পুরো অ্যাপ্লিকেশন স্টেটলেস হওয়া উচিত তা সম্পূর্ণ বোকা।
প্রতিটি অনুরোধ একটি স্বাধীন লেনদেন হিসাবে বিবেচিত হয়।
হ্যাঁ, ঠিক । বা আরও সঠিকভাবে, হ্যাঁ, অগত্যা । এইচটিটিপি-র মাধ্যমে, প্রতিটি অনুরোধ অন্য সমস্ত অনুরোধগুলির থেকে সহজাতভাবে স্বতন্ত্র। এইচটিটিপিতে "রাষ্ট্রীয়তা" যুক্ত করার জন্য আপনি প্রতিটি "রাষ্ট্রীয়" অনুরোধের জন্য "স্পষ্টত" স্পষ্টভাবে চিহ্নিত, সংরক্ষণ এবং পুনরুদ্ধার করা প্রয়োজন। এবং এটি প্রচেষ্টা নেয়, কার্যকারিতা হ্রাস করে এবং জটিলতা যুক্ত করে।
এবং, এই কারণগুলির জন্য, প্রতিটি অনুরোধ যা রাষ্ট্রহীন হতে পারে "রাষ্ট্র" হওয়া উচিত।
ফলস্বরূপ, সেশন এবং কুকিজগুলি এড়ানো উচিত (কারণ উভয়ই রাষ্ট্রীয়)। টোকেন ব্যবহার করা আরও ভাল পদ্ধতির
কয়েকটি জিনিস: টোকেনগুলি সেশন স্টোরেজেও বেঁধে দেওয়া যেতে পারে। কুকিজের সেশন স্টোরেজে আবদ্ধ হওয়ার দরকার নেই । টোকেনগুলি প্রায়শই কুকিগুলিতে সঞ্চিত থাকে। এবং, কখনও কখনও একটি অধিবেশন কেবল কাজের সঠিক সরঞ্জাম।
তার মানে কমপক্ষে মাঝে মধ্যে , সেশন এবং কুকিজ টোকেনের মতো "" আরও ভাল "!
[টোকেন] রাষ্ট্রহীন কারণ কোনও কিছুই সার্ভারে সঞ্চিত নেই।
ঠিক আছে, এটা। এটা কি "statelessness" মতবাদ সম্পর্কে সত্যিই হয়। যদিও এটি স্পষ্ট করে বলা যায় যে এটি সার্ভারে "কিছুই না" সংরক্ষণ করার বিষয়ে নয়, এটি সার্ভারে সেশন স্টেট সংরক্ষণ না করার বিষয়ে ।
উদাহরণস্বরূপ, আমার জিমেইল ইনবক্সটি একটি অবস্থায় রয়েছে। এবং এটি আরও ভাল সার্ভারে সংরক্ষণ করা ভাল ! তবে এটি সেশন স্টেট নয়।
সুতরাং, এমন একটি সার্ভার থাকার পরিবর্তে যা একটি ছোট শনাক্তকারী নিতে পারে এবং আপনি কে এবং আরও কী কী তা নির্ধারণ করতে পারেন, রাষ্ট্রবিহীন অ্যাপ্লিকেশনগুলি আপনাকে কে এবং প্রতিটি রক্তাক্ত অনুরোধের সাথে আপনি কী করছেন তা স্মরণ করিয়ে দিতে চান । অ্যাপ্লিকেশন অবস্থা এখনও বিদ্যমান, ক্লায়েন্ট এটি ধরে রাখার জন্য কেবল দায়বদ্ধ।
এখন, যদি সেই রাজ্যটি ছোট হয় তবে সম্ভবত এটি ঠিক আছে। কিছু ক্ষেত্রে এটি খুব ভাল।
এবং তারপরে অবশ্যই কিছু জিনিস রয়েছে যা আমরা কেবল রাষ্ট্রীয় হওয়ার আশা করি ...
যখন আমার সেশনের জন্য ডেটা রাখা হচ্ছে (যেমন শপিং কার্টের আইটেমগুলি) থাকে তখন ওয়েব অ্যাপ্লিকেশনগুলি কীভাবে রাষ্ট্রহীন হতে পারে? এগুলি কি আসলে কোথাও একটি ডাটাবেসে সংরক্ষণ করা হচ্ছে এবং পরে পর্যায়ক্রমে মুছে ফেলা হচ্ছে?
দুটি বিকল্প। হয় আপনার একটি সেশন আছে, বা আপনি অস্বীকার করছেন!
... কিন্তু গুরুতরভাবে. আপনি সাধারণত কোনও কুকিতে একটি কার্ট সংরক্ষণ করবেন না। শপিং কার্টের মতো কিছু হয় হয় "traditionalতিহ্যবাহী" সেশনে সংরক্ষণ করা হবে, বা এটি Cart
কোনও আইডির সাথে সংরক্ষণ করা হবে যা সার্ভার এটির অনুরোধগুলিতে টানতে ব্যবহার করে। এক ধরনের .. উহহ ... ... ভুল ... সেশন।
সত্যিকারের গুরুত্ব সহকারে: দু'জন যোগাযোগকারী এজেন্ট কোনও কথোপকথনে বার্তাগুলিকে প্রাসঙ্গিক করে তুলতে পারলে আমরা "স্টেটলফুলেন্স" কেবলমাত্র এটিই বলে থাকি's এবং একটি অধিবেশন, traditionতিহ্যগতভাবে বোঝা যায়, কেবলমাত্র আমরা সাধারণত যাকে বলি যার মাধ্যমে এটি ঘটে যায় call
আমি যুক্তি দিয়েছি যে, আপনি নিজের সার্ভার হ্যান্ডল করে এমন প্রতিটি অনুরোধের জন্য টোকেন বা "সেশন" ব্যবহার করুন না কেন, আপনাকে হয় অনুরোধটি পূরণের জন্য প্রাসঙ্গিক করা দরকার, বা আপনি তা করেন না। প্রসঙ্গটি প্রয়োজনীয় না হলে এটি আনবেন না। প্রসঙ্গটি যদি প্রয়োজনীয় হয় তবে আপনার কাছে এটি আরও ভাল হবে!
এবং তারপরে সম্পর্কিত প্রশ্ন হিসাবে বড় ওয়েবসাইটগুলি (অ্যামাজন, গুগল, ফেসবুক, টুইটার ইত্যাদি) আসলে কি রাষ্ট্রহীন? তারা কি টোকেন বা কুকিজ (বা উভয়) ব্যবহার করে?
সম্ভবত উভয়। তবে, সাধারণভাবে বলতে গেলে, তারা আপনি যা করেন ঠিক তেমন করে: তারা বিশাল "সেশন" ডাটাবেসে "স্টেট" রেকর্ড সনাক্ত করতে কুকিজ সেট করে।
সম্ভব হলে আমার সন্দেহ হয় যে তারা কেন্দ্রীভূত স্টোরেজে অযৌক্তিক ঝোঁক এড়াতে প্রাথমিক পরিচয় দাবিগুলি স্বল্পকালীন "টোকেন" এ ছড়িয়ে দিয়েছেন। তবে, এই পরিষেবাগুলির মধ্যে অনেকগুলি আমাকে "অন্য সমস্ত অবস্থান থেকে লগ আউট" করার অনুমতি দেয় তা একটি ভাল সূচক যে তারা যদি টোকেনগুলি একেবারে ব্যবহার করে থাকে তবে সেগুলি কমপক্ষে একটি অর্ধ-traditionalতিহ্যবাহী সেশন মডেল দ্বারা "সমর্থিত" ।