پروتکل بدون حالت
پروتکل بدون حالت (به انگلیسی: Stateless protocol) یک پروتکل در رایانش، یک ارتباطی است که در آن هیچ اطلاعاتی توسط گیرنده، معمولاً یک سرور، ذخیره نمیشود. دادههای مربوط به جلسه توسط مشتری به گیرنده ارسال میشود به گونه ای که هر بسته اطلاعات منتقل شده را میتوان به صورت مجزا (ایزوله) درک کرد، بدون آنکه اطلاعات زمینه ای از بستههای قبلی در جلسه وجود داشته باشد. این خاصیت پروتکلهای بدون حالت آنها را برای برنامههای با حجم بالا ایدهآل میسازد به این صورت که با حذف بار سرور ناشی از حفظ اطلاعات جلسه، عملکرد این برنامهها را افزایش میدهد.
پروتکل بدون حالت نیازی ندارد که سرور اطلاعات مربوط به جلسه یا وضعیت مربوط به هر یک از شرکای ارتباط دهنده را در طول درخواستهای متعدد حفظ کند. در مقابل، پروتکلی که نیاز به نگه داشتن وضعیت داخلی روی سرور دارد، به عنوان یک پروتکل دارای حالت شناخته میشود. یک جلسه بر مبنای اتصال TCP، یک اتصالحالت دار است زیرا هر دو سیستم در طول زندگی خود اطلاعات مربوط به خود جلسه را حفظ میکنند.
نمونههایی از پروتکلهای بدون حالت شامل پروتکل اینترنت (IP) است که پایه و اساس اینترنت است و پروتکل انتقال ابرمتن (HTTP)، که پایه ارتباطات دادهها برای شبکه جهانی وب است.
طراحی بدون حالت، طراحی سرور را ساده میکند، زیرا دیگر نیازی به اختصاص پویای ذخیرهسازی برای مدیریت مکالمات در حال انجام نیست. اگر یک جلسه کلاینت در وسط تراکنش قطع شود، نیازی نیست هیچ بخشی از سیستم مسئولیت پاکسازی وضعیت فعلی سرور را بر عهده داشته باشد. یک عیب بی حالت بودن این است که ممکن است لازم باشد در هر درخواست اطلاعات اضافی درج شوند و این اطلاعات اضافی نیاز به تفسیر سرور دارد.
مثالها
[ویرایش]پروتکل HTTP نمونه ای از یک پروتکل بی حالت است،[۱] به این معنی که هر پیام درخواست میتواند به صورت مجزا قابل درک باشد.
در نقطه مقابل، یک سرور FTP سنتی که یک جلسه تعاملی با کاربر برگزار میکند، قراردارد. در طول جلسه، به کاربر وسیله ای جهت احراز هویت ارائه مینماید و متغیرهای مختلفی (فهرست کار، حالت انتقال) را تنظیم میکند که همه اینها در سرور به عنوان بخشی از حالت کاربر ذخیره میشوند.
انباشت لایههای پروتکلی بدون حالت و دارای حالت
[ویرایش]بین پروتکلهای دارای حالت و بدون حالت در بین لایههای مختلف پروتکل میتواند تعاملات پیچیدهای وجود داشته باشد. به عنوان مثال، HTTP نمونه ای از پروتکل بدون تابعیت است که در بالای TCP قرار دارد، یک پروتکل دارای حالت، که در بالای IP لایه بندی شدهاست، یک پروتکل بدون تابعیت دیگر، که در شبکه ای استفاده میشود که از BGP، پروتکل حالتدار دیگر استفاده میکند، جهت کارگردانی بستههای IP سوار بر شبکه.
این انباشت لایهها حتی بالاتر از HTTP ادامه مییابد. به عنوان راه حل جبران عدم وجود لایه جلسه در HTTP، سرورهای HTTP روشهای مختلف مدیریت جلسه را اجرا میکنند،[۲] طور معمول با استفاده از یک شناسه منحصر به فرد در کوکی یا پارامتری که به سرور امکان میدهد کلیه درخواستهای مبدأ که از یک کلاینت آمده را ردیابی نموده و از این طریق یک پروتکل دارای حالت در بالای HTTP ایجاد کند.
جستارهای وابسته
[ویرایش]- حالت نرم
- HATEOAS
منابع
[ویرایش]مشارکتکنندگان ویکیپدیا. «Stateless protocol». در دانشنامهٔ ویکیپدیای انگلیسی، بازبینیشده در ۳ آوریل ۲۰۲۰.
- ↑ "RFC 7230 - Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing". ietf.org. Retrieved 20 August 2015.
- ↑ "session management methods reviewed". C cookie bits. Toronto. Archived from the original on 13 August 2011. Retrieved 2011-04-12.
The following material is intended to introduce the reader to the various techniques that developers have used to implement session tracking on the Web. The main operational characteristics of each method are mentioned in addition to the shortcomings that have been observed in usage. Additional information on session management can be found by searching the Internet. […]
- This article is based on material taken from the فرهنگ آزاد برخط اَزداییک prior to 1 November 2008 and incorporated under the "relicensing" terms of the پروانه مستندات آزاد گنو, version 1.3 or later.