API چیست ؟!

API چیست ؟!

چیست ؟ API

به زبان ساده

برای افرادی که با توسعه نرم‌افزار آشنایی ندارند،API مفهومی گنگ محسوب می‌شود؛ اما وقتی وارد این حوزه شدید، API به یکی از ابزارهای کاملاً روزمره شما تبدیل می‌شود. در هر حال بسیاری از کسانی که در حوزه‌های مرتبط با فناوری یا غیره مشغول به کار هستند، ایده مبهم یا نادرستی از معنی این اصطلاح پرکاربرد دارند.

API ازنظر فنی اختصاری برای عبارت «رابط برنامه‌نویسی اپلیکیشن» (Application Programming Interface) محسوب می‌شود. در برخی موارد شرکت‌های بسیار بزرگ API-هایی برای مشتریان خود و یا کاربردهای داخلی‌شان ساخته‌اند. اما اگر بخواهیم API را به زبان کاملاً ساده توضیح دهیم، معنی بسیار گسترده‌تری از آن چه در حوزه‌های نرم‌افزار یا کسب‌وکار استفاده می‌شود، خواهد داشت. ابتدا کمی به عقب‌تر باز می‌گردیم و به بررسی عملکرد خود وب می‌پردازیم.

 

و سرورهای ریموت WWW

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

برای این که چشم‌اندازی از این بحث داشته باشید، باید بدانید که شما می‌توانید یک سرور را روی لپ‌تاپ خود راه‌اندازی کنید که حتی قادر است کل یک وب‌سایت را روی اینترنت میزبانی کند. در واقع اغلب مهندسان نرم‌افزار پیش از انتشار کدهای خود روی سرور ریموت و در دسترس عموم، آن‌ها را روی یک سرور محلی توسعه داده و تست می‌کنند. زمانی که آدرس www.imtit.ir  را در مرورگر خود وارد می‌کنید، یک درخواست به سرور ریموت فرادرس ارسال می‌شود. زمانی که مرورگر پاسخ را دریافت می‌کند، کد مربوطه را تفسیر کرده و صفحه متناظر را نمایش می‌دهد.

سرور فرادرس از نظر مرورگر که به نام کلاینت نیز شناخته می‌شود، یک API است. این بدان معنی است که هر بار که شما از صفحه‌ای روی وب بازدید می‌کنید، به نوعی با API سرور ریموت سر و کار دارید. یک API همان سرور ریموت است؛ به جز این که بخشی از سروری محسوب می‌شود که درخواست‌ها را دریافت کرده و پاسخ‌ها را ارسال می‌کند.

 

 ها روشی برای عرضه خدمات به مشتریان هستند API

شاید شنیده باشید که برخی شرکت‌ها API-هایشان را به صورت محصول بسته‌بندی می‌کنند. برای نمونه Weather Underground  دسترسی به API داده‌های آب‌وهوا را به فروش می‌رساند.

 

: کیت‌های توسعهٔ نرم‌افزار Software Development Kit

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

 

 : API طراحی

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

 

 : تامین امنیت API 

اگر همه چیز به درستی و با دقت پیش برود، عرضهٔ API خطری امنیتی برای شما محسوب نمی‌شود اما نیاز به توضیح نیست که هرچه راه‌های ارتباطی با سرورهای خود را بیشتر کنید، راه‌های نفوذ به آن نیز افزایش می‌یابد و از آنجایی که برخی ای‌پی‌آی‌ها به برخی از امکانات سرویس دسترسی می‌دهند که مثلاً تعامل با دیتای ذخیره‌شده روی دیتابیس هم بخشی از آن‌ها است و مسلماً از حساسیت بالایی برخوردار است، می‌تواند در صورت پیاده‌سازی غیراصولی خسارت‌های زیادی به بار آورد که برای حل این قبیل مشکلات چندین راه‌کار وجود دارد.

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

تاریخ انتشار : 1398/9/30

تعداد بازدید : 55 اشتراک گذاری در :