پروتکل بدون حالت

پروتکل بدون حالت  یک پروتکل در رایانش، یک ارتباطی است که در آن هیچ اطلاعاتی توسط گیرنده، معمولاً یک سرور، ذخیره نمی‌شود. داده‌های مربوط به جلسه توسط مشتری به گیرنده ارسال می‌شود به گونه ای که هر بسته اطلاعات منتقل شده را می‌توان به صورت مجزا (ایزوله) درک کرد، بدون آنکه اطلاعات زمینه ای از بسته‌های قبلی در جلسه وجود داشته باشد. این خاصیت پروتکل‌های بدون حالت آنها را برای برنامه‌های با حجم بالا ایده‌آل می‌سازد به این صورت که با حذف بار سرور ناشی از حفظ اطلاعات جلسه، عملکرد این برنامه‌ها را افزایش می‌دهد.

پروتکل بدون حالت نیازی ندارد که سرور اطلاعات مربوط به جلسه یا وضعیت مربوط به هر یک از شرکای ارتباط دهنده را در طول درخواست‌های متعدد حفظ کند. در مقابل، پروتکلی که نیاز به نگه داشتن وضعیت داخلی روی سرور دارد، به عنوان یک پروتکل دارای حالت شناخته می‌شود. یک جلسه بر مبنای اتصال TCP، یک اتصالحالت دار است زیرا هر دو سیستم در طول زندگی خود اطلاعات مربوط به خود جلسه را حفظ می‌کنند.

نمونه‌هایی از پروتکل‌های بدون حالت شامل پروتکل اینترنت (IP) است که پایه و اساس اینترنت است و پروتکل انتقال ابرمتن (HTTP)، که پایه ارتباطات داده‌ها برای شبکه جهانی وب است.

طراحی بدون حالت، طراحی سرور را ساده می‌کند، زیرا دیگر نیازی به اختصاص پویای ذخیره‌سازی برای مدیریت مکالمات در حال انجام نیست. اگر یک جلسه کلاینت در وسط تراکنش قطع شود، نیازی نیست هیچ بخشی از سیستم مسئولیت پاکسازی وضعیت فعلی سرور را بر عهده داشته باشد. یک عیب بی حالت بودن این است که ممکن است لازم باشد در هر درخواست اطلاعات اضافی درج شوند و این اطلاعات اضافی نیاز به تفسیر سرور دارد.

مثال‌ها 
پروتکل HTTP نمونه ای از یک پروتکل بی حالت است، به این معنی که هر پیام درخواست می‌تواند به صورت مجزا قابل درک باشد.

در نقطه مقابل، یک سرور FTP سنتی که یک جلسه تعاملی با کاربر برگزار می‌کند، قراردارد. در طول جلسه، به کاربر وسیله ای جهت احراز هویت ارائه می‌نماید و متغیرهای مختلفی (فهرست کار، حالت انتقال) را تنظیم می‌کند که همه اینها در سرور به عنوان بخشی از حالت کاربر ذخیره می‌شوند.

انباشت لایه‌های پروتکلی بدون حالت و دارای حالت 
بین پروتکل‌های دارای حالت و بدون حالت در بین لایه‌های مختلف پروتکل می‌تواند تعاملات پیچیده‌ای وجود داشته باشد. به عنوان مثال، HTTP نمونه ای از پروتکل بدون تابعیت است که در بالای TCP قرار دارد، یک پروتکل دارای حالت، که در بالای IP لایه بندی شده‌است، یک پروتکل بدون تابعیت دیگر، که در شبکه ای استفاده می‌شود که از BGP، پروتکل حالتدار دیگر استفاده می‌کند، جهت کارگردانی بسته‌های IP سوار بر شبکه.

این انباشت لایه‌ها حتی بالاتر از HTTP ادامه می‌یابد. به عنوان راه حل جبران عدم وجود لایه جلسه در HTTP، سرورهای HTTP روش‌های مختلف مدیریت جلسه را اجرا می‌کنند، طور معمول با استفاده از یک شناسه منحصر به فرد در کوکی یا پارامتری که به سرور امکان می‌دهد کلیه درخواست‌های مبدأ که از یک کلاینت آمده را ردیابی نموده و از این طریق یک پروتکل دارای حالت در بالای HTTP ایجاد کند.

جستارهای وابسته 
حالت نرم
 HATEOAS

منابع 

 
پروتکل‌های شبکه
سرویس‌دهنده‌ها (رایانش)