m_35696791
m_35696791
خواندن ۴ دقیقه·۳ سال پیش

چیست و چه کاربردی داردREST Framework


REST توسط دانشمند رایانه، روی فیلدینگ بنا نهاده شد. او قواعد REST

را در پایاننامه دکتری خود در دانشگاه کالیفرنیا

در سال ۱۳۸۰ ارائه کرد.

در اوایل دهه هشتاد شمسی، روی فیلدینگ و گروهی از توسعهدهندگان تصمیم گرفتند استانداردی را به وجود بیاورند تا

هر سروری بتواند با سرور دیگر مکالمه کند. وی REST را تعریف و اصول و محدودیتهایی را برای آن تعیین کرد. این

قواعد جهانی باعث شد کار تولید نرمافزار برای توسعهدهندگان آسانتر شود.


API چیست؟

API یا Application Programming Interface که با رابط برنامهنویسی کاربردی ترجمه میشود یک مجموعه از

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

نام خود این مکانیزم بیانگر همه چیز است. منظور از رابط چیزیست که دو شئ یا دو موجودیت مختلف را به همدیگر ربط

میدهد. اما بیایید کمی با جزئیات بیشتر از این موضوع صحبت کنیم. API میتواند دادههایی که شما برای اپلیکیشنتان

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

فرمتها هستند.

HTTP چیست؟

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

داده روی وب را تشکیل میدهد و یک پروتکل کلاینت-سرور است، یعنی درخواستها از سوی گیرنده آغاز میشوند که

عموماً یک مرورگر وب است. به این ترتیب یک سند کامل با ترکیب سندهای کوچک و جزئی واکشی شده مانند متن،

توضیح چیدمان، تصاویر، ویدئوها، اسکریپتها و موارد دیگر در مرورگر وب بازسازی میشود.

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

مرورگر وب است و درخواست ) Request ) نام دارند. از سوی دیگر پیامهایی که از سوی سرور ارسال میشوند، پاسخ

( Response ) نامیده میشوند.

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

- متد HTTP که معمولاً یک فعل مانند GET ، POST یا یک اسم مانند OPTIONS یا HEAD است و عملیاتی

را تعریف میکند که کلاینت میخواهد اجرا کند. به طور معمول، کلاینت میخواهد یک منبع را )با استفاده از

ارسال کند، هر چند عملیات زیاد دیگری )POST را )با استفاده از HTML واکشی کند یا مقدار یک فرم )GET

نیز در موقعیتهای دیگر مورد نیاز هستند.

یا مسیر مطلق پروتکل، پورت و دامنه است و بر اساس کانتکست URL - هدف درخواست که به طور معمول یک

متفاوت است. HTTP درخواست مشخص میشود. قالببندی این هدف درخواست بر اساس متدهای مختلف

- هدرهای اختیاری که اطلاعات اضافی را به سرورها انتقال میدهند.

HTTP. - نسخه پروتکل

مشابه موارد پاسخ است POST وجود داشته باشد که برای برخی متدها مانند body - همچنین ممکن است یک

که شامل منبع ارسالی هستند.

پاسخها شامل اجزای زیر هستند:

که استفاده شده است HTTP - نسخه پروتکل

که نشان میدهد آیا درخواست موفق بوده یا نه و دلیل آن چیست )Status Code( - کد وضعیت

- یک پیام وضعیت که توضیح کوتاه غیر قابل استناد در مورد کد وضعیت است

برشمردیم HTTP مانند مواردی که در خصوص درخواست HTTP - هدرهای

باشد که شامل منبع واکشی شده است body - همچنین به صورت اختیاری میتواند شامل یک

چگونه کار میکند؟ REST

چهار متد زیر را داریم که عبارتند از: ، RESTful API برای بهکارگیری از

برای دریافت یک آبجت :GET

برای ساخت و ارسال یک آبجکت :POST

رای تغییر و جایگزین کردن یک آبجکت :PUT

برای حذف یک آبجکت :DELETE

در اینجا منظور از آبجکت، یک درخواست یا کوئری به سرور است. اکثر ای پی آی های تحت وب که اطلاعاتی را به رایگان

را به توسعهدهنده میدهند تا GET در اختیار توسعهدهندگان قرار میدهند معمولاً فقط و فقط امکان استفاده از متد

دیتای خاصی را از سرور ارائه دهنده ای پی آی مد نظر دریافت کنند چرا که این متد اصلا تهدیدی برای سرویس ارائه

کردن روی Write کند و اجازه ی Read محسوب نمیگردد زیرا توسعهدهنده فقط میتواند اصطلاحا API دهنده ی

دیتابیس را ندارد.

سادهترین و پرکاربردترین متد استفاده شده در پروتکل اچ تی تی پی است. به طور کلی، هر وقت که شما روی GET متد

لینکی در سکان آکادمی کلیک میکنید، این متد از طریق هدر پروتکل اچ تی تی پی برای سرور این سایت ارسال میشود.

این متد به سرور دستور میدهد تا اطلاعات مرتبط با آدرس لینکی که روی آن کلیک شده است را برای مرورگر شما ارسال

کند.

REST چه کاربردی دارد؟

یکی از اصلیترین کاربرد های REST متصل کردن بخش سمت سرور و بخش سمت کاربر یک سایت است. ارسال و دریافت

اطلاعات بین این دو بخش یک سایت میتواند به وسیله REST Framework به راحتی انجام شود.

همچنین سرویسدهنده های بزرگ و متوسط مانند Google, FaceBook, Yahoo تعداد زیادی API برای استفاده از

امکانات خود ساختهاند که به وسیله REST Framework میتوان از امکانات آنها بهره برد.


گردآورنده:زهره نبی زاده

دانشگاه آزاد اسلامی،کلاس اصول طراحی نرم افزار

استاد:دکتر مریم حاجی اسمعیلی. دکترای علوم کامپیوتر از دانشگاه کینگستون لندن


‏Dr.Maryam Hajiesmaeili

‏PhD of computer science from Kingston university of London

‏https://ir.linkedin.com/in/dr-maryam-hajiesmaeili-90930743


rest frameworkapihttprest
شاید از این پست‌ها خوشتان بیاید