0
0

REST API چیست ؟

244 بازدید
REST API چیست ؟

REST API چیست ؟

در این مقاله قرار است درباره REST API صحبت کنیم . REST API چیست ؟

خوب بیایید سوالات متداول را بررسی کنیم :

ما چطور می توانیم از طریق اپلیکیشن ها ، شبکه های اجتماعی یا وب سایت ها با یکدیگر در ارتباط باشیم ؟ و از این طریق خدمات دریافت کنیم ؟

اطلاعات چطور از جایی به جای دیگر منتقل می شوند ؟

چطور دستگاه های مختلف به یکدیگر متصل می شوند ؟

این ارتباطات توسط APPLICATION PROGRAMMING INTERFACE یا همان API میسر می­شود . اما واقعا REST API چیست ؟

 در واقع API یک حمل کننده یا مسنجر اطلاعات از یک کاربر به یک سیستم و حمل کننده پاسخ آن از آن سیستم به کاربر است .

برای مثال تصورر کنید که در یک رستوران هستید . API در واقع گارسون این رستوران است . شما از یک منو غذای خود را انتخاب میکنید . گارسون آن را از شما میگیرد به سیستم یا همان آشپزخانه آن را اطلاع می دهد . غذای شما اماده می شود و گارسون آن را برای شما می آورد !!

در زمانی که شما قرار است یک بلیط هواپیما نیز بخرید آن را جستجو می کنید . وبسایت با خطوط هوایی ارتباط برقرار می کند . نتیجه جستجو دقیقا مطابق با درخواست شما برای روز و ساعت مورد نظر در بین دیتابیس خطوط هوایی جستجو می شود و به شما باز می گردد .

وقتی می شنوید که توسعه دهندگان درباره GOOGLE API صحبت می کنند در واقع منظور آن ها همان RESTAPI  است . در واقع یک درخواست از یک کلاینت به یک یاچند سرور ارسال می شود و در نهایت پاسخ این درخواست از طریق پروتکل HTTP به کلاینت یا درخواست کننده باز می گردد .

این درخواست می تواند ثبت اطلاعات ، خواندن اطلاعات ، به روز رسانی آن یا حذف این اطلاعات از دیتابیس آن باشد . ارتباط کلاینت و سرور با زبان قابل درکی برای این دو برقرار می شود یعنی فرمت JSON . و به این عملیات ها CRUD گفته می شود .

  REST  آخرین استاندارد برای ایجاد درخواست های  HTTP برای دسترسی و دستکاری داده ها در پایگاه داده ها است .

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

POST / GET   : اطلاعات را ایجاد و یا به روز می کند

READ  : خواندن اطلاعات

DELETE : حذف اطلاعات

این سه عملکرد با هم ، هسته اصلی ایجاد ، خواندن ، به روزرسانی و حذف یا CRUD را تشکیل می دهند.

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

REST مخفف Representational State Transfer است. که واسطه ای بین یک منبع داده و یک برنامه در دستگاه های تلفن همراه یا دسکتاپ است .

  REST مجموعه ای از روش های HTTP را فراهم می کند که به تغییر داده ها کمک می کنند.

REST API سبکی از معماری برای طراحی برنامه های شبکه ای ، کارآمد و موثر است .

که نقش مهمی در کمک به توسعه دهندگان در ساختن برنامه های کاربردی  و قوی دارد .

یکی از مهمترین مزایای REST آن است که بسیار متنوع و سازگار است.

به همین دلیل است که در فریمورک های مختلف PHP   قابل اجرا است .

از همین جمله می توانیم متوجه شویم که REST API چیست : نوعی معماری یا سبک است و نه یک زبان یا کدنویسی خاصی در یک زبان !!!

REST API چیست ؟

خوب واقعا REST API چیست ؟

REST یک مدل معماری برنامه است که معمولاً با توابع اجرا می شود.

 از این توابع برای ارسال درخواست ها و دریافت پاسخ ها از طریق پروتکل انتقال متن (HTTP) استفاده می شود .

 بهترین چیز در مورد REST این است که دقیقاً مختص یک زبان خاص نیست و برای آن پیاده سازی نشده است .

  در عوض ، شما می توانید به راحتی آن را در هر نوع برنامه تحت وب ، که هسته اصلی آن REST است ، ادغام کنید .

این بدان معنی است که در دنیای واقعی ، برنامه ها ، سرورها و کلاینت ها از یکدیگر مستقل هستند.

از طریق REST API ، همه برنامه های تحت وب که از HTTP استفاده می کنند

می توانند داده ها را در یک قالب ساده و قابل اجرا پیوند داده و تبادل کنند.

Resourc ها اصلی ترین عناصر سازنده REST API هستند.

 آن ها موجوداتی مستقل و با هویت منحصر به فرد هستند.

یک resource  می تواند چندین نمایش داشته باشد که نمودهای مختلفی از یک منبع هستند.

به عنوان مثال ، تصویر می تواند یک نوع منبع یا Resourc باشد ، گرچه تصاویر در قالب های مختلف مانند GIF ، JPEG  و سایر موارد در دسترس هستند .

هر منبع از طریق یک آدرس منحصر به فرد به نام Uniform Resource Identifier (URI)  قابل دسترسی است .

 REST API  از URI برای دسترسی و تعامل  با منابع استفاده می کند.

رابطه یک تصویر با URI  یک رابطه یک به چند است.

یک URI ، یک منبع خاص را نشان می دهد اما یک منبع به دلیل نمایش های زیاد می تواند چندین URI داشته باشد .

مشخصات REST API چیست ؟ 

از آنجا که هیچ قانون سخت و سریعی در اجرای REST API وجود ندارد ، توسعه دهندگان کار با آن را آسان تر می دانند .

با این حال ، برای کدنویسی به عنوان REST ، یک API باید دارای سه ویژگی مهم باشد :

  1. معماری مشتری-سرور (Client-Server ) :

در REST API ، سرویس دهنده ها و سرورها از یکدیگر مستقل هستند.

آنها می توانند به راحتی و بدون ایجاد مشکل با زبان های دیگر جایگزین و دوباره اجرا شوند.

 

  1. بی تابعیتی :

بی تابعیت بودن به معنای آن است که سرورها هیچ داده ای در رابطه با تعاملات با مشتری را ذخیره نمی کنند.

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

علاوه بر این بار روی سرورها به نسبت کاهش می یابد.

برای REST API ، عدم تابعیت اصلی ترین نیاز طراحی است ، چون HTTP  خود یک پروتکل بدون تابعیت است.

 

  1. قابلیت ذخیره سازی :

سمت کلاینت می تواند پاسخ های برگشتی توسط سرورها را ذخیره یا در حافظه پنهان ذخیره کند.

برای کاربران نهایی ، این موضوع به طور چشمگیری سرعت دریافت پاسخ از برنامه را افزایش می دهد .

 همه REST API ها قابل cache هستند زیرا پروتکل  HTTP  این قابلیت را ارائه می دهد.

 

مزایای REST API چیست ؟ 

REST چندین مزیت مهم را به توسعه دهندگان و کاربران برنامه های تحت وب ارائه می دهد.

آزادی اجرا بزرگترین مزیت REST API است.

 توسعه دهندگان می توانند پیاده سازی هر دو سمت سرور و کلاینت را تحت هر زبان یا سیستم عاملی کنترل کنند .

 این امکان فراهم می شود زیرا لازم است که همه پاسخ های دریافتی تحت پروکلی مشترک مانند  JavaScript Object Notation (JSON) یا XML باشند .

جدایی بین کلاینت ها و سرورها تضمین می کند که همه REST API ها قابل حمل و متنوع باشند .

 توسعه دهندگان در هر دو طرف می توانند بدون هیچ مشکلی برای برنامه ، قطعات را آزادانه تغییر دهند و جایگزین کنند.

تمام REST API ها و برنامه های وب با استفاده از این  APIها مقیاس پذیر و قابل اعتماد هستند.

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

به همین علت است که ما می توانیم از عملیات CRUD در PHP  برای ارتباط با پایگاه داده با اندروید استفاده کنیم .

چون ایجاد درخواست و دریافت پاسخ در این بین ، به صورت JSON خواهد بود .

مادامی که ما از این زبان مشترک استفاده می کنیم سمت سرور و سمت کلاینت هر زبان برنامه نویسی با هر قاعده ای می تواند داشته باشد .

 یک طرف جاوا و اندروید و یک طرف PHP  به صورت خام ، یا با شی گرایی یا با فریمورک های مختلف آن مثل Symfony ، Laravel  یا  Slim  .

همان طور که شرح داده شد در واقع REST به معنی انتقال داده است و مادامی که ما با کد نویسی در حال انتقال داده از سرور به کلاینت یا از کلاینت به سرور هستیم از این سبک استفاده کرده ایم !

آیا این مطلب را می پسندید؟
اشتراک گذاری:
زهرا فریدونی
علاقه‌مند و فعال در زمینه برنامه نویسی سمت وب و همچنین مدرس وب و برنامه نویسی اندروید هستم. از زمان دانشجویی برنامه نویسی کار میکردم . اما از سال ۹۴ به صورت تخصصی تر به برنامه نویسی روی آوردم و از سال ۹۶ شروع به تدریس برنامه نویسی وب و اندروید کردم. https://novindevelopers.com/about/

نظرات

0 نظر در مورد REST API چیست ؟

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

هیچ دیدگاهی نوشته نشده است.