API چیست؟ | تعریف سریع

یک API چیست؟

معرفی

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

یک API چیست؟

API مخفف an رابط برنامه نویسی برنامه. یک API یک جزء نرم افزاری، عملیات، ورودی ها، خروجی ها و انواع زیربنایی آن را بیان می کند. اما چگونه می توان API را به زبان انگلیسی ساده توضیح داد؟ API به عنوان یک پیام رسان عمل می کند که درخواست شما را از یک برنامه انتقال می دهد و پاسخ را به شما تحویل می دهد.

به عنوان مثال 1: هنگامی که در حال جستجوی پروازهای آنلاین هستید. شما با وب سایت شرکت هواپیمایی تعامل دارید. این وب سایت جزئیات صندلی و هزینه پرواز در آن تاریخ و زمان خاص را ارائه می دهد. شما غذا یا صندلی، چمدان یا درخواست حیوان خانگی خود را انتخاب می کنید.

اما، اگر از وب سایت مستقیم خطوط هوایی استفاده نمی کنید یا از یک آژانس مسافرتی آنلاین استفاده می کنید که داده های بسیاری از خطوط هوایی را ترکیب می کند. برای دریافت اطلاعات، یک برنامه کاربردی با API شرکت هواپیمایی تعامل دارد. API رابطی است که داده ها را از وب سایت آژانس مسافرتی به سیستم شرکت هواپیمایی می برد.

 

همچنین پاسخ خطوط هوایی را می گیرد و بلافاصله پس می دهد. این امر تعامل بین خدمات مسافرتی و سیستم های هواپیمایی برای رزرو پرواز را تسهیل می کند. API مستلزم کتابخانه ای برای روتین ها، ساختارهای داده، کلاس های شی و متغیرها است. به عنوان مثال، خدمات SOAP و REST.

 

به عنوان مثال 2: Best Buy از طریق وب‌سایت خود، قیمت‌های ویژه معاملات روز را در دسترس قرار می‌دهد. همین داده ها در اپلیکیشن موبایل آن وجود دارد. این برنامه نگران سیستم قیمت گذاری داخلی نیست - می تواند با Deal of the Day API تماس بگیرد و بپرسد که قیمت ویژه چیست؟ Best Buy با اطلاعات درخواستی در قالب استانداردی که برنامه به کاربر نهایی نمایش می دهد پاسخ می دهد.

 

Example3:  API برای رسانه های اجتماعی بسیار مهم است. کاربران می‌توانند به محتوا دسترسی داشته باشند و تعداد حساب‌ها و گذرواژه‌های خود را کم نگه دارند تا بتوانند کارها را ساده نگه دارند.

  • Twitter API: با اکثر توابع توییتر تعامل داشته باشید
  • Facebook API: برای پرداخت ها، داده های کاربر و ورود به سیستم 
  • API اینستاگرام: کاربران را تگ کنید، عکس های پرطرفدار را مشاهده کنید

در مورد REST & SOAP API چیست؟

SOAP و REST از یک سرویس مصرف کننده API، معروف به Web API استفاده کنید. وب سرویس به هیچ دانش قبلی از اطلاعات وابسته نیست. SOAP یک پروتکل وب سرویس است که مستقل از پلتفرم سبک وزن است. SOAP یک پروتکل پیام رسانی مبتنی بر XML است. برخلاف وب سرویس SOAP، سرویس Restful از معماری REST استفاده می کند که برای ارتباط نقطه به نقطه ساخته شده است.

سرویس وب SOAP

پروتکل دسترسی به اشیاء ساده (SOAP) از پروتکل های HTTP برای اجازه دادن به برنامه ها برای برقراری ارتباط استفاده می کند. SOAP یک ارتباط جهت دار و بدون حالت بین گره ها است. 3 نوع گره SOAP وجود دارد:

  1. فرستنده SOAP - ایجاد و انتقال یک پیام.

  2. گیرنده SOAP - پیام را دریافت و پردازش می کند.

  3. SOAP Intermediary- بلوک های هدر را دریافت و پردازش می کند.

وب سرویس RESTful

Representational State Transfer (REST) ​​به رابطه بین مشتری و سرور و نحوه پردازش حالت مربوط می شود. معماری Rest، یک سرور REST دسترسی به منابع را برای مشتری فراهم می کند. Rest به خواندن و اصلاح یا نوشتن منابع کمک می کند. Uniform Identifier (URI) منابعی را برای حاوی یک سند شناسایی می کند. این وضعیت منبع را ضبط می کند.

REST سبک تر از معماری SOAP است. به جای XML که توسط معماری SOAP استفاده می شود، JSON، یک زبان قابل خواندن توسط انسان که امکان اشتراک گذاری داده ها و استفاده آسان تر از داده ها را فراهم می کند، تجزیه می کند.

چندین اصل برای طراحی وب سرویس Restful وجود دارد که عبارتند از:

  • آدرس پذیری – هر منبع باید حداقل یک URL داشته باشد.
  • بی تابعیتی – یک سرویس آرامش بخش یک خدمت بدون تابعیت است. یک درخواست مستقل از هرگونه درخواست قبلی توسط سرویس است. HTTP با طراحی یک پروتکل بدون حالت است.
  • Cacheable – داده‌هایی که به‌عنوان ذخیره‌سازی cache در سیستم علامت‌گذاری می‌شوند و در آینده مورد استفاده مجدد قرار می‌گیرند. به عنوان پاسخ به همان درخواست به جای تولید نتایج یکسان. محدودیت‌های حافظه پنهان، علامت‌گذاری داده‌های پاسخ را به‌عنوان قابل ذخیره یا غیرقابل ذخیره‌سازی در حافظه پنهان فعال می‌کنند.
  • رابط یکنواخت - اجازه می دهد تا یک رابط مشترک و استاندارد برای دسترسی استفاده شود. استفاده از مجموعه ای تعریف شده از روش های HTTP. رعایت این مفاهیم تضمین می کند که اجرای REST سبک وزن است.

مزایای REST

  • از قالب ساده تری برای پیام ها استفاده می کند
  • بهره وری بلند مدت قوی تری ارائه می دهد
  • از ارتباطات بدون تابعیت پشتیبانی می کند
  • از استانداردهای HTTP و گرامر استفاده کنید
  • داده ها به عنوان یک منبع در دسترس هستند

معایب REST

  • در استانداردهای سرویس وب مانند تراکنش های امنیتی و غیره شکست می خورد.
  • درخواست های REST مقیاس پذیر نیستند

مقایسه REST در مقابل SOAP

تفاوت بین خدمات وب SOAP و REST.

 

سرویس وب SOAP

وب سرویس Rest

در مقایسه با REST به بار ورودی سنگین نیاز دارد.

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

تغییر در خدمات SOAP اغلب منجر به تغییر قابل توجهی در کد در سمت مشتری می شود.

کد سمت کلاینت تحت تأثیر تغییر خدمات در ارائه وب REST قرار نمی گیرد.

نوع برگشتی همیشه از نوع XML است.

تطبیق پذیری را با توجه به شکل داده های برگشتی فراهم می کند.

یک پروتکل پیام مبتنی بر XML

یک پروتکل معماری

به یک کتابخانه SOAP در انتهای مشتری نیاز دارد.

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

پشتیبانی از WS-Security و SSL.

پشتیبانی از SSL و HTTPS.

SOAP امنیت خود را تعریف می کند.

خدمات وب RESTful اقدامات امنیتی را از حمل و نقل اصلی به ارث می برند.

انواع سیاست های انتشار API

سیاست های انتشار برای API عبارتند از:

 

سیاست های انتشار خصوصی: 

API فقط برای استفاده داخلی شرکت در دسترس است.


سیاست‌های انتشار شریک:

API فقط برای شرکای تجاری خاص در دسترس است. شرکت‌ها می‌توانند کیفیت API را به دلیل کنترل افرادی که می‌توانند به آن دسترسی داشته باشند، کنترل کنند.

 

سیاست های انتشار عمومی:

API برای استفاده عمومی است. در دسترس بودن خط‌مشی‌های انتشار برای عموم در دسترس است. مثال: Microsoft Windows API و Apple's Cocoa.

نتیجه

APIها در همه جا وجود دارند، چه در حال رزرو پرواز یا درگیر شدن با برنامه های رسانه های اجتماعی. SOAP API مبتنی بر ارتباطات XML است، تفاوت آن با REST API در این است که به پیکربندی خاصی نیاز ندارد.

طراحی سرویس‌های وب Rest باید به مفاهیم خاصی از جمله آدرس‌پذیری، عدم وضعیت، قابلیت ذخیره‌سازی و یک رابط استاندارد پایبند باشد. قوانین انتشار API ممکن است به سه دسته تقسیم شوند: APIهای خصوصی، APIهای شریک و APIهای عمومی.

برای خواندن این مقاله از شما تشکر می کنم. مقاله ما را در مورد یک راهنمای به بررسی کنید امنیت API 2022.