API چیست؟ قسمت دوم
محمدجواد مرادی
تکنولوژی
1399/8/23
8 دقیقه
همانگونه که گفتیم، یک بستر ارتباطی میان دو واحد نرم افزاری است که داده ای با ساختار مشخص را از واحد A گرفته و به منظور پردازش به واحد B میرساند، سپس نتیجه ی پردازش را که یک داده ی قابل پیش بینی است، به عنوان نتیجه فرآیند به واحد A تحویل میدهد.
حال درباره ی web API ها تفاوت جایی شکل میگیرد که دو واحد نرم افزاری مذکور بر بستر اینترنت با یکدیگر ارتباط دارند و برخلاف حالات دیگر که دو نرم افزار باید در یک دستگاه اجرا میشدند، در این حالت دو ( یا چند ) واحد نرم افزاری میتوانند در دستگاه های مختلف و در فواصل زیاد نسبت به یکدیگر قرار داشته باشد! با این اوصاف مهم ترین وجه تمایز میان Web API و سایر API ها، حضور اینترنت به عنوان ابزار ارتباطی است.
Web APIگستره ی Web API ها
در مورد API ها به صورت کلی همیشه یک نرم افزار به عنوان مرجع و پاسخگو حضور پیدا میکنند و بقیه ی نرم افزار ها به عنوان کاربر یا استفاده کننده. کلیت فرآیند به گونه ای است که کاربران درخواست هایی را به سرور میفرستند و جوابی متناسب با آن درخواست میگیرند.
این درخواست و پاسخ به ترتیب توسط HTTP Request و HTTP Response ها انجام میشوند.
بواسطه ی Web API ها میتوان توسط یک سرور به تعداد زیادی دستگاه دیگر سرویس داد و این امر باعث استفاده بسیار زیاد و گسترده از آنها میشود، به صورتی که تقریبا تمامی وبسایت ها برای برقرار ارتباط میان front-end و back-end خود از web-API ها استفاده میکنند. همچنین در حالت عمومی تر افراد یا شرکت ها API هایی را برای استفاده عموم در دسترس قرار میدهند که به این حالت اصطلاح Web Service اطلاق میشود.
برای استفاده از web API ها باید از آدرس های اینترنتی یا URL ها استفاده کنیم، به عنوان نمونه وقتی بر روی لینک زیر کلیک کنید، سایت مپ وبسایت ما را دریافت خواهید کرد.
وقتی بر روی لینک کلیک میکنید، مرورگر شما یک HTTP Request به این آدرس میفرستد و سرور ما به عنوان جواب درخواست شما، فایل سایت مپ را برای شما ارسال میکند.
توسط HTTP Request / Response ها میتوانید داده ها را در قالب های متنوعی ارسال و دریافت کنید، درمثال بالا شما داده ای ارسال نمیکنید اما در پاسخ یک فایل در قالب xml دریافت میکنید.
RESTREST API

انواع web API ها:

SOAP (Simple Object Access Protocol):
پروتكلی است كه از XML به عنوان یك قالب برای انتقال داده استفاده می كند. وظیفه اصلی آن تعریف ساختار پیام ها و روش های ارتباطی است.
XML-RPC:
این پروتكل در مقایسه با SOAP كه از قالب اختصاصی XML استفاده می كند، از یك قالب ویژه XML برای انتقال داده استفاده می كند. همچنین از SOAP قدیمی تر است. XML-RPC از حداقل پهنای باند استفاده می کند و بسیار ساده تر از SOAP است.
JSON-RPC:
این پروتکل مشابه XML-RPC است اما به جای استفاده از قالب XML برای انتقال داده از JSON استفاده می کند.
REST (Representational State Transfer):
سرویس REST مانند سایر سرویس های وب پروتكل نیست، در عوض مجموعه ای از اصول معماری است. سرویس REST نیاز به ویژگی های خاصی دارد از جمله رابط های ساده و منابعی که به راحتی در هنگام درخواست و دستکاری منابع با استفاده از رابط شناسایی می شوند.

به صورت کلی معماری REST سادگی و انعطاف پذیری بیشتر و امنیت کمتری نسبت به SOAP دارد.

خطا

خروج
از 5
امتیاز دهید:
شاید این مطالب را دوست داشته باشید:
خطا

خروج
کامنت

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

مشاهده پاسخ ها
مشاهده پاسخ ها