API مخفف Application Programming Interface (رابط برنامه نویسی کاربردی) است که یک واسطه نرم افزاری است که به دو برنامه اجازه می دهد با یکدیگر صحبت کنند. هر بار که از برنامه ای مانند فیس بوک استفاده می کنید یا وضعیت آب و هوا را در تلفن خود بررسی می کنید، از یک API استفاده می کنید.

یک API چگونه کار می کند

API مجموعه ای از قوانین تعریف شده است که نحوه ارتباط رایانه ها یا برنامه ها با یکدیگر را توضیح می دهد. APIها بین یک برنامه کاربردی و وب سرور قرار می گیرند و به عنوان یک لایه میانی عمل می کنند که انتقال داده بین سیستم ها را پردازش می کند.

در اینجا نحوه عملکرد یک API آمده است:

یک برنامه مشتری یک فراخوانی API را برای بازیابی اطلاعات آغاز می کند - که به عنوان درخواست (request) نیز شناخته می شود. این درخواست از یک برنامه کاربردی به وب سرور از طریق شناسه منبع یکنواخت API (URI) پردازش می شود و شامل یک فعل درخواست(request verb) ، سرصفحه ها (headers) و گاهی اوقات یک بدنه (body) درخواست است.

پس از دریافت یک درخواست معتبر، API با برنامه خارجی یا وب سرور تماس می گیرد.

سرور پاسخی را با اطلاعات درخواستی به API ارسال می کند.

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

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

APIها با طراحی امنیت را ارائه می دهند زیرا موقعیت آنها به عنوان واسطه انتزاع عملکرد بین دو سیستم را تسهیل می کند - نقطه پایانی API (endpoint) برنامه مصرف کننده را از زیرساخت ارائه کننده خدمات جدا می کند. تماس‌های API معمولاً شامل اعتبارنامه‌های مجوز(authorization credentials) برای کاهش خطر حملات به سرور است و یک دروازه API می‌تواند دسترسی را برای به حداقل رساندن تهدیدات امنیتی محدود کند. همچنین، در طول تبادل، هدرهای HTTP، کوکی ها یا پارامترهای رشته پرس و جو، لایه های امنیتی بیشتری را برای داده ها فراهم می کنند.

به عنوان مثال، یک API ارائه شده توسط یک سرویس پردازش پرداخت را در نظر بگیرید. مشتریان می توانند جزئیات کارت خود را در قسمت جلوی یک برنامه کاربردی برای یک فروشگاه تجارت الکترونیک وارد کنند. پردازشگر پرداخت نیازی به دسترسی به حساب بانکی کاربر ندارد. API یک توکن (token) منحصر به فرد برای این تراکنش ایجاد می کند و آن را در فراخوانی API به سرور شامل می شود. این امر سطح بالاتری از امنیت را در برابر تهدیدات احتمالی هک تضمین می کند.