بخش های اصلی

وب سرویس RESTful

وب سرویس های RESTful – بی وضعیتی (Statelessness)

در معماریِ REST، یک وب سرویسِ RESTful، نباید وضعیت کلاینت را روی سرور نگه داره. به این محدودیت، بی وضعیتی (Statelessness) گفته میشه. بر عهده ی کلاینتِه که محتوایش را به سرور پاس بده تا سرور بتواند این محتوا را برای پردازشِ درخواست های بعدی کلاینت، ذخیره کنه. برای مثال، ارتباطِ (session) برقرار شده توسط سرور، توسطِ شناسگرِ ارتباطی که توسط کلاینت پاس داده شده، شناسایی میشه.

وب سرویس های RESTful، باید این محدودیت را رعایت کنن. همان طور که در بخش آموزش وب سرویس ها – متدها، دیدیم، متدهای وب سرویس هیچ اطلاعاتی راجع به کلاینتی که از آن فراخوانی شده اند را ذخیره نمی کنن.

URL زیر را در نظر بگیرین:

http://localhost:8080/UserManagement/rest/UserService/users/1

اگه URL بالا را با استفاده از مرورگر و با کلاینتِ مبتنی بر جاوا یا با استفاده از postman، باز کنین،  نتیجه همیشه XML مربوط به کاربری که 1 است خواهد بود، چون سرور هیچ اطلاعاتی راجع به کلاینت ذخیره نمی کنه.

<user>
<id>1</id>
<name>mahesh</name>
<profession>1</profession>
</user>

مزایای بی وضعیتی در RESTful

در ادامه مزایای بی وضعیتی، در وب سرویس های RESTful را مشاهده می کنین.

  • وب سرویس ها می توانند با هر متد درخواست، بصورت مستقل برخورد کنن.
  • وب سرویس ها نیازی به کسب اطلاعات راجع به تراکنش های قبلی کلاینت ها ندارن. این امر باعث ساده شدن طراحی برنامه میشه.
  • از آن جایی که HTTP خودش یک پروتکل بی وضعیتِه، وب سرویس های RESTful هم بصورت یکپارچه با پروتکلِ HTTP کار می کنن.

معایب بی وضعیتی در RESTful

در ادامه معایب بی وضعیتی، در وب سرویس های RESTful را مشاهده می کنین.

  • وب سرویس ها نیاز دارن که اطلاعات اضافی راجع به هر درخواست بدست بیارن و آن ها را برای گرفتن وضعیت کاربر در مواردی که تراکنش های کاربر باید محتاطانه انجام بشه، ترجمه کنن.

مبحث آموزشی

وب سرویس RESTful

RESTful Web Services

پرســیدن سؤال جدید

سؤال های تخصصی خود را از ما بپرسید

تبلیغات

دنبال کردن تلگرام کانال سافت اسکیل

https://telegram.me/softskill_ir

آخرین مقالات

عملیات کاربران

خبـرنــامه

Newsletters

در خبــرنـامه سافت اسکیل عضو شویــد تا جدیدترین هـای سایت را بلافاصله در ایمیل خـود دریافت کنیـد