REST API ها: چگونه کار می کنند و آنچه باید بدانید | آسان لرن
در این عصر ادغام ، به اشتراک گذاری داده ها بین سیستم ها بیش از هر زمان دیگری اهمیت دارد.
یک وب سایت تجارت الکترونیک را بدون یکپارچه سازی تصور کنید. علاوه بر مدیریت لیست محصولات ، سایت شما باید به تنهایی ابزارهایی را برای پردازش پرداخت ، ارسال ، اتوماسیون ایمیل ، حساب های کاربری و سایر عملکردها ایجاد کند. این یک راه حل مقیاس پذیر نیست .برون سپاری این وظایف به سرویس های دیگر کارآمدتر است.روش های زیادی برای ایجاد API وجود دارد . اما اگر علاقه مند به معرفی ادغام نرم افزاری در محصول خود هستید ، یک روش خاص باید بدانید: REST API ها. در این راهنما ، من توضیح می دهم که REST API چیست . و چرا آنها بسیار مفید هستند.
بنابراین ، برای همکاری با یکدیگر ، برنامه های نرم افزاری از رابط های برنامه نویسی برنامه یا API ها استفاده می کنند. API ها راهی استاندارد برای دو برنامه برای ارسال داده ها به جلو و عقب ارائه می دهند. سایت تجارت الکترونیک شما می تواند با نرم افزارهای پرداخت ، نرم افزار حمل و نقل و سایر ادغام های ضروری از طریق API های مربوطه تعامل داشته باشد.
قبل از شروع کار ، باید با API ها و نحوه عملکرد آنها آشنا باشید.
REST API چیست؟
برای درک REST ، ابتدا باید برخی اصطلاحات کلیدی را مرور کنیم:
- کلاینت شخص یا برنامه ای است که از API استفاده می کند. مشتری برای بازیابی برخی اطلاعات یا تغییر چیزی در برنامه ، درخواست هایی به API می دهد. مرورگر وب شما یک سرویس گیرنده است . با وب سایت های مختلف API تعامل دارد . تا محتوای صفحه را از آنها دریافت کند. اطلاعات درخواستی به مرورگر شما ارسال می شود . و روی صفحه نمایش داده می شود.
- منبع هرگونه اطلاعاتی است که API می تواند به مشتری ارائه دهد. به عنوان مثال ، یک منبع در API فیس بوک می تواند یک کاربر ، یک صفحه ، یک عکس یا یک پست باشد. هر منبع دارای نام منحصر به فردی است که شناسه منبع نامیده می شود.
- یک سرور توسط برنامه ای که درخواست های مشتری را دریافت می کند استفاده می شود . و شامل منابع مورد نیاز مشتری است. سرور دارای API برای تعامل با مشتریان بدون دسترسی مستقیم به محتوای ذخیره شده در پایگاه داده خود است.
حالا برای تعریف ما. REST مجموعه ای از دستورالعمل ها است.
که نرم افزار می تواند برای برقراری ارتباط از طریق اینترنت به منظور ساده سازی و مقیاس پذیری از آنها استفاده کند. REST API (که به آن API “RESTful” نیز می گویند) نوع خاصی از API است که از این دستورالعمل ها پیروی می کند.
REST مخفف Transmission State Transfer است. این بدان معناست که وقتی مشتری با استفاده از REST API منبعی را درخواست می کند . سرور وضعیت فعلی منبع را در یک نمایش استاندارد به عقب بر می گرداند.
به عبارت دیگر ، API های REST با ارائه درخواست برای یک منبع و بازگرداندن تمام اطلاعات مربوط به منبع ، به قالبی ترجمه می شوند . که مشتریان می توانند به راحتی آنها را تفسیر کنند . (این قالب توسط درخواست های دریافت API تعیین می شود). مشتریان همچنین می توانند موارد موجود در سرور را تغییر داده و حتی موارد جدید را از طریق REST API به سرور اضافه کنند.
فرض کنید من می خواهم برنامه ای بسازم که با YouTube یکپارچه شود. برنامه من (مشتری) می تواند از YouTube REST API اطلاعاتی درباره یک ویدیوی خاص (منبع) بخواهد. API YouTube به درخواست من با وضعیت منبع پاسخ می دهد. که شامل ویژگی هایی مانند نام ویدئو ، تاریخ انتشار و تعداد مشاهده و پیوند ویدئو است . همه در یک قالب بسته بندی شده که برنامه من می تواند به سرعت تجزیه و استفاده کند. برنامه من همچنین می تواند یک ویدیو (یعنی افزودن منبع جدید) به کانال شخصی من در YouTube از طریق API ارسال کند.
اکنون که مزایای REST API ها را می دانیم ، بیایید جزئیات را در مورد ویژگی های REST API ها از سایر API ها متمایز کنیم.
شش قانون API های REST
برای بهره مندی کامل از عملکردی که REST ارائه می دهد ، API ها باید از شش الزام پیروی کنند. (خوب ، از نظر فنی پنج مورد نیاز است و یکی اختیاری است.) هر مورد زمینه را برای یک API سریع و همه کاره فراهم می کند.
1. جداسازی سرویس گیرنده و سرور
تحت معماری REST ، سرویس گیرنده و سرور تنها می توانند به یک طریق با یکدیگر ارتباط برقرار کنند: مشتری یک درخواست به سرور ارسال می کند . سپس سرور پاسخی را به سرویس گیرنده ارسال می کند. سرورها نمی توانند درخواست دهند و مشتریان نمی توانند پاسخ دهند . همه تعاملات توسط مشتری آغاز می شود.
با ساده سازی ارتباط بین مشتریان و سرورها ، API های RESTful این دو را به راحتی مستقل نگه می دارند. به این ترتیب ، نرم افزارهای سرویس گیرنده می توانند بدون نگرانی در مورد تأثیر بر سرورهای دیگر ، ساختار خود را افزایش دهند. و محتویات سرور را می توان بدون تأثیر سهوی بر مشتریان تغییر داد.
2. رابط یکنواخت
این دستورالعمل بیان می کند که همه درخواست ها و همه پاسخ ها باید از پروتکل مشترک یا روشی برای قالب بندی پیام های آنها پیروی کنند. برنامه ها و سرورها به انواع زبان های مختلف نوشته شده اند که بدون همکاری با یکدیگر کار بزرگی انجام نمی دهند. رابط یکنواخت یک زبان مشترک برای هر مشتری است که با هر API REST ارتباط برقرار کند.
بدون ارتباط استاندارد ، ترجمه درخواستها و پاسخها بین نرم افزارها یک آشفتگی کامل است. اختلافات جزئی باعث می شود که اطلاعات درهم و برهم شوند و برنامه ها هر زمان که API ها اطلاعات خود را به روز می کنند ، باید فرایندهای درخواست خود را به روز کنند. یک رابط یکنواخت این امکان را حذف می کند.
برای اکثر REST API ها ، این زبان رایج HTTP یا پروتکل انتقال متن است. HTTP به طور خاص برای REST ایجاد نشده است. در عوض ، REST این پروتکل ارتباطی را به عنوان استاندارد برنامه هایی که از آن استفاده می کنند ، پذیرفت.
برای استفاده از HTTP با REST API ، سرویس گیرنده درخواست را در قالب خاصی ارسال می کند که ممکن است برای شما آشنا به نظر برسد. به عنوان مثال ، درخواست API YouTube برای داده های ویدئویی به این شکل است:
GET https://www.googleapis.com/youtube/v3/channels?part=contentDetails
مانند همه درخواست های REST API ، این درخواست شامل دو قطعه اطلاعات است:
GET روش HTTP است. این کار اقدامی را که مشتری می خواهد روی منبع انجام دهد ، مشخص می کند. چهار درخواست اساسی HTTP که یک مشتری می تواند انجام دهد عبارتند از:
- GET: برای بازیابی یک منبع.
- POST: برای ایجاد یک منبع جدید.
- PUT: برای ویرایش یا به روز رسانی یک منبع موجود.
- حذف: برای حذف یک منبع.
https: //… URL است. URL شامل شناسه منبع یکنواخت یا URI است که منبع مورد نظر را مشخص می کند.
در این مورد ، URL را نقطه پایانی نیز می نامند زیرا این مکانی است که API در واقع با سرویس گیرنده تعامل دارد.
پس از دریافت و تأیید درخواست ، میزبان اطلاعات مربوط به منبع مورد نظر را برمی گرداند. معمولاً اطلاعات به فرمت JSON ارسال می شود که مخفف JavaScript Object Notation است. JSON تمام محتویات یک منبع را در قالب سبک وزن ارائه می دهد که انسان می تواند به راحتی بخواند.
3. فاقد تابعیت
همه تماس ها با REST API باید بدون حالت باشند. این بدان معنی است که هر تعامل مستقل است و هر درخواست و پاسخ تمام اطلاعات مورد نیاز برای تکمیل تعامل را ارائه می دهد. هر درخواست مشتری توسط سرور به عنوان یک درخواست جدید تفسیر می شود – سرور در مورد درخواست های قبلی چیزی به خاطر نمی آورد.
انتقال بدون حالت میزان حافظه سرور مورد نیاز را بسیار کاهش می دهد و احتمال پاسخ موفقیت آمیز را افزایش می دهد ، زیرا سرور نیازی به انجام اقدامات اضافی برای بازیابی داده های قدیمی ندارد. این امر مقیاس پذیر بودن این تعامل ها را تضمین می کند: با افزایش نرم افزار و درخواست های بیشتر ، توسعه دهندگان نیازی به نگرانی در مورد استفاده بیشتر از حافظه یا بارگذاری سرور با درخواست ندارند.
4. سیستم لایه ای
تا کنون من درخواست های API را به عنوان یک تعامل ساده بین مشتری و سرور توصیف کرده ام ، اما این کمی ساده سازی است. در حقیقت ، معمولاً سرورهای بیشتری بین این دو نهاد وجود دارد. این سرورها یا لایه ها برای افزودن امنیت ، مدیریت و توزیع ترافیک یا کمک به تعدادی از عملکردهای مهم دیگر وجود دارند.
این اصل مستلزم این است که پیام های بین سرویس گیرنده و سرور مورد نظر همیشه بدون در نظر گرفتن لایه هایی که بین آنها قرار دارد ، یکسان قالب بندی و پردازش شوند. لایه های اضافی نباید بر تعامل مشتری و سرور تأثیر بگذارد.
هنگامی که توسعه دهندگان از این دستورالعمل پیروی می کنند ، سیستم های سرور می توانند بدون هیچ تاثیری در پاسخ-درخواست اصلی ، مجدداً مرتب ، به روز شده یا در غیر این صورت اصلاح شوند.
5. قابل ذخیره شدن
ذخیره سازی زمانی رخ می دهد که رسانه ها هنگام بازدید از یک وب سایت در دستگاه مشتری ذخیره می شوند. هنگامی که یک سرویس گیرنده به آن سایت باز می گردد ، داده های ذخیره شده به جای بارگیری مجدد از سرور به سرعت از حافظه محلی بارگیری می شود. ذخیره سازی منابع سرور و پهنای باند را کاهش می دهد و زمان بارگذاری صفحه را کاهش می دهد ، به همین دلیل است که اکثر وب سایت های بزرگ این کار را انجام می دهند.
REST API ها با درنظر گرفتن ذخیره داده ایجاد می شوند. هنگامی که سرور پاسخ خود را به مشتری ارسال می کند ، پاسخ باید نشان دهد که آیا منبع ارائه شده می تواند ذخیره شود و برای چه مدت.
6. کد درخواستی (اختیاری)
اصل REST نهایی اختیاری است. در صورت تمایل ، یک API می تواند در پاسخ خود کد رایانه ای را برای مشتریان ارسال کند. این امر به مشتری این امکان را می دهد که کد را در پشتیبان خود اجرا کند.
تا زمانی که API به این مجموعه قوانین پایبند باشد ، RESTful در نظر گرفته می شود. با این حال ، این قوانین فضای زیادی را برای توسعه دهندگان برای سفارشی کردن عملکرد API خود باز می گذارد. این انعطاف پذیری REST API ها را از روش معمول دیگر API وب ، پروتکل دسترسی ساده به شیء (SOAP) متمایز می کند.
REST API در مقابل SOAP API
REST معمولاً با SOAP مقایسه می شود ، راهی دیگر برای ساخت برنامه هایی که از طریق HTTP کار می کنند. تفاوت اصلی بین REST و SOAP این است که REST مجموعه ای از دستورالعمل ها است و SOAP یک پروتکل است. REST امکان ایجاد API ها با هر روشی از جمله HTTP ، URL ها و JSON را می دهد. SOAP فقط از XML برای ارسال داده استفاده می کند.
REST به عنوان جایگزین ساده تر و کارآمدتری برای SOAP در نظر گرفته می شود. زیرا نیاز به نوشتن کد کمتری برای انجام وظایف دارد و از ساختار و منطق کمتری نسبت به SOAP پیروی می کند. علاوه بر این ، REST گاردریل هایی را برای طراحی API تنظیم می کند ، اما انتخاب های زیادی را به توسعه دهنده می دهد که API را بسازد.
چرا باید از API های REST استفاده کرد؟
چارچوب REST توسط دانشمند کامپیوتر روی فیلدینگ در سال 2000 معرفی شد و امروزه نحوه مشاهده ، تغییر و انتقال محتوا به صورت آنلاین را شکل می دهد. بسیاری از محبوب ترین شرکت های وب و ابر از برنامه های کاربردی REST API برای برنامه های خود استفاده می کنند ، از جمله فیس بوک ، یوتیوب ، توییتر و گوگل.
اما چرا REST؟ در اصل ، این یک سیستم عالی برای برنامه های وب است. در اینجا مزایای اصلی این نوع API آورده شده است:
- API های REST انعطاف پذیر هستند. آنها می توانند انواع مختلفی از درخواست ها را مدیریت کرده و داده ها را در قالب های مختلف ارسال کنند.
- REST API مقیاس پذیر هستند. آنها برای ارتباط بین هر دو نرم افزار ، صرف نظر از اندازه یا قابلیت طراحی شده اند. با افزایش یک برنامه وب و افزودن منابع بیشتر ، REST API آن قادر خواهد بود. به سرعت در حال افزایش تعداد و تنوع درخواست ها باشد.
- API های REST شامل فن آوری های وب موجود می شوند و ساخت و استفاده از آنها را نسبتاً آسان می کند. برای درخواست منبع از طریق REST API ، فقط باید URL آن را ارائه دهید.
نحوه استفاده از REST API
برنامه های وب با API های عمومی موجود مستنداتی را در بخش “توسعه دهندگان” وب سایت های خود در دسترس خواهند داشت. در اینجا دستورالعمل هایی در مورد نحوه دسترسی و استفاده از API همراه با نرم افزار خود پیدا خواهید کرد. اگر API با اصول REST ساخته شده باشد . مستندات احتمالاً این را نشان می دهد.
بسیاری از API ها برای استفاده نیاز به کلید API دارند. کلید API یک رشته کاراکتر منحصر به فرد است. که ارائه دهنده API به توسعه دهنده می دهد. تا اجازه دسترسی به API خود را بدهد. کلیدهای API اغلب با درخواست مشتری برای شناسایی مشتری به سرور ارسال می شوند. کلید (های) API خود را خصوصی نگه دارید. اگر کلید شما به دست اشتباه می افتد ، می توان از آن برای انجام برخی کارهای نه چندان خوب به ظاهر از طرف شما استفاده کرد.
برای آزمایش API عمومی ، از ابزاری استفاده کنید. که می تواند درخواست های HTTP را مانند پستچی ساختار دهد. انواع روش ها و آدرس های مختلف HTTP را امتحان کنید. و ببینید چه اتفاقی می افتد.
نمونه های REST API
شما می توانید REST API ها را در سراسر وب پیدا کنید . احتمالاً امروز از برخی از آنها بدون اینکه از آن استفاده کنید استفاده کرده اید. در اینجا چند نمونه هستند:
توییتر
API توییتر به برنامه های شخص ثالث امکان خواندن و نوشتن داده ها را می دهد. از آن برای نوشتن و ارسال توییت ها ، به اشتراک گذاشتن توییت ها و خواندن نمایه ها استفاده کنید. این API به ویژه برای بارگیری و تجزیه و تحلیل حجم زیادی از توییت ها در مورد موضوعات خاص موثر است. در راهنمای ما درباره استفاده از API توییتر بیشتر بدانید.
اینستاگرام
API نمایشگر اصلی Instagram دسترسی به اطلاعات نمایه ، عکس ها و فیلم ها را ارائه می دهد. می توانید از این API و سایر برنامه ها برای ساختن برنامه هایی استفاده کنید. که این اطلاعات کاربر را جمع آوری کرده و آنها را در محصول خود ادغام کند. اینستاگرام همچنین دارای API Graph برای حساب های حرفه ای اینستاگرام است. تا فعالیت های آنلاین آنها را مدیریت کند.
Spotify
API وب Spotify به مشتریان این امکان را می دهد تا اطلاعات مربوط به هنرمندان ، آهنگ ها ، آلبوم ها و لیست های پخش را در پلت فرم خود درخواست کنند. همچنین می توانید از آن برای افزودن آهنگ به لیست پخش ، مکث و پخش موسیقی ، به هم زدن آهنگ ها و موارد دیگر استفاده کنید.
HubSpot
همه API های HubSpot با قراردادهای REST ساخته شده اند و برای ادغام قوی طراحی شده اند که به مشاغل کمک می کند بیشترین ارزش را از ابزارهای HubSpot کسب کنند. می توانید قابلیت های پیشرفته ای را به نرم افزار بازاریابی قدرتمند HubSpot اضافه کنید. و حساب HubSpot خود را با سایر ابزارهای مفید همگام سازی کنید.
برای مشاهده نمونه های بیشتر REST API که می توانید برای کسب و کار خود استفاده کنید . لیست API های رایگان و باز مورد علاقه ما را برای بازاریابان بررسی کنید.
در استراحت نخوابید
این اعتقاد رایج است که REST API به زودی استاندارد صنعت ارتباطات مبتنی بر وب و به دلایل خوب خواهد بود. آنها هر دو برنامه آنلاین را قادر می سازند که داده ها را بدون در نظر گرفتن اندازه یا قابلیت های آنها با یکدیگر به اشتراک بگذارند. از طریق REST ، یک استارتاپ کوچک می تواند با یک سازمان دولتی عظیم ارتباط برقرار کند و بالعکس.
ابزارهای نرم افزاری می توانند با همکاری با یکدیگر سیستم های شگفت انگیز قدرتمند و ابتکاری ایجاد کنند .چیزی که هر پلت فرم آنلاین در حال رشد باید بخواهد بخشی از آن باشد. اگر به دنبال اتصال برنامه خود به دنیای نرم افزار هستید ، در REST نخوابید.
دیدگاهتان را بنویسید