(یا REST مخفف Representational state transfer) روشی برای ایجاد، خواندن، آپدیت نمودن و یا حذف اطلاعات بر روی سروری است که از HTTP call های ساده استفاده می کنند. در واقع REST یک مدل طراحی برای برنامه های شبکه ای می باشد که ارتباط بین دو سیستم (client-server) را توسط یک پروتکل (مانند http، smtp، ftp و …) ایجاد می کند. برنامه های بر پایه این روش/معماری، ReSTful application نامیده می شوند، چرا که فقط با request های CRUD (مخفف create update read delete) پروتکل واسط، با هدف تعامل برقرار می کنند.

  • REST مخفف Representational State Transfer می باشد.
  • یک معماری وب سرویس است.
  • از HTTP برای انتقال اطلاعات میان کلاینت و سرور استفاده میکند.
  • کار کردن با REST بسیار ساده تر از وب سرویس های پیچیده ای مانند SOAP می باشد.
  • یک سرویس به اصطلاح RESTful عموما بر روی پروتکل HTTP  و تمام افعال استاندارد این پروتکل را که توسط مرورگرهای وب قابل درک هستند کار میکند مانند (GET, POST, PUT, DELETE)

شرایط لازم معماری REST

  • کلاینت سرور (client-server) باشد.
  • بدون حالت (stateless) باشد.
  • قابلیت cache داشته باشد.
  • سیستم لایه‌بندی شده  داشته باشد.
  • واسط یکنواخت  داشته باشد.
  • دارای قابلیت کد در صورت نیاز  باشد.

از لحاظ رویکرد، برنامه نویسی REST جایگزینی ساده برای سرویس‌های وب است.

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

مشخصات یک وب سرویس REST

  • بوسیله URI کار می کند یعنی ریسورس ها و کالکشن های خود را به صورت http://fullkade.com/resources دریافت میکند.
  • اطلاعات را به صورت عموما JSON دریافت میکند البته میتواند اطلاعات به صورت XML هم برگردانده شود.
  • برخلاف وب سرویس های بر پایه SOAP ، هیچ استاندارد رسمی برای وب سرویس های REST وجود ندارد به دلیل اینکه REST یک معماری است در حالی که SOAP یک پروتکل وب سرویس است.

 

 

 


نویسنده : هادی اکبرزاده