فهرست مندرجات[پنهان شدن][نمایش]
- 1. از REST چه می فهمید؟
- 2. منظور شما از REST API چیست؟
- 3. URI دقیقا چیست؟
- 4. ویژگی های خدمات وب RESTful چیست؟
- 5. اصول راهنمای REST چیست؟
- 6. متدهای HTTP را که REST پشتیبانی می کند ذکر کنید.
- 7. محدودیت های اعمال شده توسط یک رابط سازگار را شرح دهید.
- 8. منبع REST دقیقاً چیست؟
- 9. JAX-RS برای شما چه معنایی دارد؟
- 10. چه چیزی AJAX و REST را از یکدیگر متمایز می کند؟
- 11. آیا می توانید برخی از معایب خدمات وب RESTful را فهرست کنید؟
- 12. چه چیزی تکنیک های PUT و POST را از یکدیگر متمایز می کند؟
- 13. چگونه خدمات وب RESTful را آزمایش می کنید؟
- 14. یک REST API را در دنیای واقعی توصیف کنید.
- 15. معماری میکروسرویس چگونه کار می کند؟
- 16. ذخیره سازی دقیقاً چیست؟
- 17. بار را شرح دهید.
- 18. SOAP را از REST متمایز کنید؟
- 19. آیا پروتکل امنیتی لایه انتقال (TLS) با REST قابل استفاده است؟
- 20. روش های بی قدرت: آنها چیست؟ چگونه در دنیای خدمات وب RESTful اعمال می شود؟
- 21. قابلیت HTTP Basic Authentication چیست؟
- 22. به نظر شما GraphQL بهترین انتخاب برای ایجاد معماری میکروسرویس است؟
- 23. تفاوت های اصلی بین روش های HTTP ایمن و غیر توانمند چیست؟
- 24. API JAX-RS توسط RESTful Root Resource Classes به چه معناست؟
- 25. Postman دقیقا چیست و چرا استفاده می شود؟
- 26. چگونه API های REST ایمن نگه داشته می شوند؟
- نتیجه
تکامل REST باعث شده است که APIها به طرز باورنکردنی قابل دسترسی باشند و در عین حال قدرت و پتانسیل کامل آنها را نیز آشکار کند. API های REST به دلیل معماری منبع گرا به راحتی ایجاد و ذخیره می شوند.
علاوه بر این، در طول زمان، API های RESTful پیشگامان پیشرفت های مهم دیگری مانند محاسبات ابری و طراحی مبتنی بر میکروسرویس بودند.
بنابراین، جای تعجب نیست که توسعه دهندگان REST API امروزه با توجه به نحوه ارائه مشاغلی که از خدمات RESTful مزیت رقابتی دارند، مورد تقاضا هستند. REST API یک روند طراحی محبوب است.
بسیاری از شرکت های فناوری اطلاعات از دانش REST API می خواهند توسعه دهندگان نرم افزار و در مصاحبه های فنی در مورد آن بپرسید.
در اینجا برخی از معمول ترین سوالات مصاحبه REST API وجود دارد که به شما کمک می کند اگر می خواهید در زمینه توسعه REST API کار کنید، برای مصاحبه در شرکت های مختلف آماده باشید.
1. از REST چه می فهمید؟
REST یک الگوی معماری برای طراحی برنامه های کاربردی مبتنی بر وب است که بر اساس پروتکل انتقال ابرمتن (HTTP) هستند.
REST استانداردهای خاصی را تعریف می کند که سرویس های وب باید آنها را رعایت کنند تا RESTful تلقی شوند. این توصیه ها تضمین می کنند که درخواست ها و منابع با استفاده از پروتکل های استاندارد HTTP به سرعت و به طور موثر بین مشتری و سرور منتقل می شوند.
2. منظور شما از REST API چیست؟
یک پیوند نرمافزار به نرمافزار که به عنوان رابط برنامهنویسی کاربردی شناخته میشود، ارتباط و اشتراک دادهها را بین برنامههای مستقل ممکن میسازد. برای مثال، یک وبسایت خبری میتواند از API توییتر برای کشف خودکار توییتهای مرتبط و ادغام آنها در داستانهای خبری استفاده کند.
یک API که به اصول REST پایبند است به عنوان REST API شناخته می شود که گاهی اوقات به عنوان RESTful API شناخته می شود. در یک REST API، هر قطعه داده به عنوان یک منبع مدیریت می شود و به یک هویت منبع استاندارد متمایز (URI) داده می شود.
به عنوان مثال، Twitter API هر توییت را به یک منبع قابل بازیابی تبدیل می کند که در دسترس مشتریان است. Twitter API می تواند توسط کاربران برای ارسال توییت و انجام سایر وظایف وب سایت استفاده شود.
3. URI دقیقا چیست؟
A شبکه ی کامپیوتری منبع را می توان با استفاده از یک URI یا شناسه منبع یکسان ارجاع داد. به عنوان وسیله ای برای جداسازی یک منبع از منبع دیگر عمل می کند. منابع ممکن است آنلاین باشند یا نباشند.
URI ها به دلیل ساختار استانداردشان، اتصال به منابع مختلف را نیز ساده می کنند. مکان یا نام منبع به همراه یک رشته کاراکتر در URI ها گنجانده شده است.
URI از یک مسیر، طرح، پرس و جو و عناصر دیگر تشکیل شده است اما شامل پروتکل نمی شود.
با استفاده از یک پروتکل، URL ها (Uniform Resource Locators) برای یافتن منابع در اینترنت یا قابل دسترسی از طریق آن استفاده می شود.
4. ویژگی های خدمات وب RESTful چیست؟
- پارادایم Client-Server پایه و اساس خدمات است.
- این سرویس می تواند از طریق URI به منابع دسترسی پیدا کند.
- این سرویس از پروتکل HTTP برای به دست آوردن داده ها/منابع، اجرای پرس و جوها و انجام کارهای دیگر استفاده می کند.
- پیام رسانی نام روشی است که برای برقراری ارتباط بین مشتری و سرور استفاده می شود.
- این سرویس ها همچنین می توانند الگوی معماری REST را با استفاده از سرویس های SOAP پیاده سازی کنند.
- برای کاهش تماسهای سرور برای همان نوع درخواستهای تکراری، این سرویسها از ایده ذخیرهسازی نیز استفاده میکنند.
5. اصول راهنمای REST چیست؟
پنج معیار باید توسط API های REST رعایت شود:
جداسازی مشتری و سرور: فقط می توان از یک سری درخواست و پاسخ برای برقراری ارتباط بین مشتری و سرور استفاده کرد. فقط مشتریان و سرورها به ترتیب قادر به ارسال درخواست و پاسخ هستند. این ایده ساده هر دو طرف را قادر می سازد تا مستقل از یکدیگر عمل کنند.
رابط یکنواخت: باید یک پروتکل یکنواخت برای همه اتصالات سرویس گیرنده و سرور وجود داشته باشد. این پروتکل برای REST HTTP است. از آنجایی که هر برنامه با استفاده از یک زبان، دادهها را درخواست میکند و میفرستد، یک رابط سازگار، ادغام را سادهتر میکند.
بدون وضعیت: سرور هیچ رکوردی از درخواستها یا پاسخهای قبلی را در ارتباطات بدون تابعیت ذخیره نمیکند. هر درخواست و پاسخ تمام جزئیات مورد نیاز برای تکمیل مبادله را ارائه می دهد. ارتباطات بدون حالت باعث افزایش سرعت، صرفه جویی در حافظه و کاهش استرس روی سرور می شود. علاوه بر این، از احتمال شکست درخواست به دلیل اطلاعات ناقص جلوگیری می کند.
سیستم لایه ای: به سرورهایی که بین کلاینت و سرور API قرار دارند لایه گفته می شود. این سرورهای اضافی خدمات مختلفی مانند تشخیص هرزنامه و بهینه سازی سرعت را انجام می دهند. لایه ها در REST ماژولار هستند، به این معنی که می توان آنها را بدون تأثیر بر ارتباطات بین مشتری و سرور API اضافه و حذف کرد.
Cacheable: اگر پاسخهای سرور نشان دهد که آیا منبع قابل ذخیرهسازی است یا خیر، مشتریان میتوانند هر منبعی را برای افزایش سرعت ذخیره کنند.
کدگذاری برحسب تقاضا: در پاسخ، یک API می تواند کدهای کامپیوتری اجرایی را به مشتریان منتقل کند. سپس برنامه کلاینت می تواند کد را در انتهای پشتی خود اجرا کند.
6. متدهای HTTP را که REST پشتیبانی می کند ذکر کنید.
متدهای HTTP که REST پشتیبانی می کند عبارتند از:
- GET: این روش منبعی را در URL مشخص شده درخواست می کند. یک بدنه درخواست نباید گنجانده شود زیرا نادیده گرفته می شود. می توان آن را به صورت محلی یا روی سرور ذخیره کرد.
- POST: این روش داده ها را برای پردازش به یک سرویس ارسال می کند و سرویس معمولاً باید یک منبع جدید یا تغییر یافته را برگرداند.
- PUT: منبع در URL درخواست به روز می شود.
- DELETE: منبع در URL درخواست حذف می شود.
- گزینه ها: روش های پشتیبانی شده را شناسایی می کند.
- HEAD: فراداده URL درخواست بازگردانده می شود.
7. محدودیت های اعمال شده توسط یک رابط سازگار را شرح دهید.
به منظور جدا کردن مشتری از سرور، یک رابط سازگار مورد نیاز است.
برای دستیابی به یک رابط سازگار، چهار محدودیت زیر مورد نیاز است:
- شناسایی منبع: درخواست های مشتری باید از شناسه های منبع استاندارد برای شناسایی منابع (URI) استفاده کند.
- دستکاری منابع با استفاده از این نمایشها: کلاینتها تمام اطلاعات مورد نیاز را دارند تا بتوانند وضعیت منبع را هنگام دریافت یک نمایش منبع از سرور تغییر دهند.
- پیام های خود توصیفی: پیام ها شامل تمام ابرداده ها و سایر اطلاعات مورد نیاز برای درک آنها توسط گیرنده است.
- هایپر مدیا به عنوان موتور حالت برنامه: کانال ارتباط کلاینت و سرور، هایپر رسانه ای است، مانند HTML، و کلاینت ها برای درک پاسخ های سرور نیازی به مستندات خاص API ندارند.
8. منبع REST دقیقاً چیست؟
منابع اجزای اساسی یک وب سرویس RESTful در معماری REST هستند. آنها شامل تمام اطلاعات مهمی هستند که یک کلاینت API باید به آنها دسترسی داشته باشد.
هر نوع منبعی، مانند یک صفحه HTML، یک تصویر، یک ویدیو، یا هر چیز دیگری که برای یک فعالیت API مورد نیاز است، می تواند از طریق سرور در یک سیستم کلاینت-سرور قابل دسترسی باشد.
منابع توسط یک شناسه منبع واحد شناسایی می شوند. متن، JSON یا XML همگی بازنمایی قابل قبولی از منابع هستند. با بیان این موضوع، هیچ محدودیتی در قالب نمایندگی وجود ندارد.
9. JAX-RS برای شما چه معنایی دارد؟
به لطف Java API برای خدمات وب RESTful که اغلب به نام JAX-RS شناخته می شود، ایجاد سرویس های وب RESTful در جاوا ساده تر است. توسعه دهندگان می توانند منابع و عملیاتی را که می توان بر روی آنها انجام داد با استفاده از حاشیه نویسی های ارائه شده توصیف کنند.
10. چه چیزی AJAX و REST را از یکدیگر متمایز می کند؟
آژاکس:
- Ajax گروهی از فناوری ها است که امکان به روز رسانی پویا را فراهم می کند رابط کاربر عناصر بدون نیاز به بارگذاری مجدد صفحه.
- Ajax ارتباط ناهمزمان بین مشتری و سرور را حذف می کند.
باقی مانده:
- REST نیاز به ارتباط بین سرور و مشتری دارد.
- استفاده از منابع برای ساختار URL و الگوی درخواست/پاسخ مورد استفاده توسط REST مهم است.
11. آیا می توانید برخی از معایب خدمات وب RESTful را فهرست کنید؟
جلسات را نمی توان ادامه داد زیرا خدمات به مفهوم بی تابعیتی پایبند هستند. (کلاینت مسئول ارسال شناسه جلسه در طول شبیه سازی جلسه است.)
محدودیت های امنیتی برای REST اساسی نیستند. پروتکل هایی که از آن استفاده می کنند اقدامات احتیاطی امنیتی را به ارث می برند. بنابراین، احتیاط در هنگام اعمال تدابیر امنیتی، مانند ادغام احراز هویت مبتنی بر SSL/TLS، مهم است.
12. چه چیزی تکنیک های PUT و POST را از یکدیگر متمایز می کند؟
قرار دادن:
- هیچ کش برای پاسخ های PUT وجود ندارد.
- Idempotent (یعنی درخواست های متعدد نتیجه یکسانی را به همراه خواهد داشت)
- محموله درخواستی منبع هدف را به روز می کند یا جایگزین می کند.
پست:
- idempotent not (یعنی درخواست های متعدد چندین منبع از یک منبع را به همراه خواهند داشت)
- وب سرور حجم درخواست را بر اساس منبع مورد نظر پردازش می کند.
- اگر هدر مربوط به کنترل کش گنجانده شده باشد، پاسخ های POST را می توان کش کرد.
13. چگونه خدمات وب RESTful را آزمایش می کنید؟
تست سرویس وب RESTful را می توان با تعدادی ابزار از جمله Swagger و Postman کمک کرد. بررسی پارامترهای درخواست مانند پارامترهای پرس و جو، سرصفحه ها و سرصفحه های پاسخ با فراوانی ویژگی های دومی امکان پذیر است.
از Postman می توان برای درخواست به نقاط پایانی و نمایش نتایج استفاده کرد. و XML و JSON را می توان از این پاسخ ها ایجاد کرد.
Postman و Swagger هر دو عملکردهای بسیار قابل مقایسه ای را ارائه می دهند. از سوی دیگر، Swagger همچنین قابلیت هایی مانند مستندات نقطه پایانی را ارائه می دهد.
14. یک REST API را در دنیای واقعی توصیف کنید.
- وبسایتهای مسافرتی و بلیطفروشی میتوانند از زمانبندی پرواز و قیمتهایی که خطوط هوایی از طریق API در دسترس قرار میدهند، استفاده کنند.
- برای اینکه برنامههای نقشهبرداری و ناوبری (مانند Google Maps) از آنها استفاده کنند، آژانسهای حملونقل عمومی اغلب دادههای خود را در زمان واقعی از طریق APIها در دسترس عموم قرار میدهند.
- برنامه های آب و هوا از API های باز استفاده می کنند که داده های آب و هوا را برای نمایش اطلاعات آب و هوا مبادله می کنند.
- توسعه دهندگان می توانند از طریق تعدادی از API های میزبانی شده Google Maps به داده های نقشه برداری آن دسترسی داشته باشند. این API ها توسط توسعه دهندگان برای جاسازی نقشه های پویا در برنامه ها و وب سایت های خود استفاده می شوند.
15. معماری میکروسرویس چگونه کار می کند؟
- درخواست ها توسط مشتریان مختلف با استفاده از دستگاه های مختلف ارسال می شود.
- پس از تایید هویت مشتریان، ارائه دهندگان هویت، نشانه های امنیتی را ارائه می کنند.
- درخواست های مشتری توسط API Gateway مدیریت می شود.
- تمام مطالب سیستم به عنوان محتوای ثابت حفظ می شود.
- ابزار مدیریت تعادل سرویسها را روی گرهها و هر گونه خطا بررسی میکند.
- کشف مسیر ارتباط بین میکروسرویس ها به کمک کشف سرویس می شود.
- مراکز داده و سرورهای پراکسی سیستم های شبکه پراکنده ای را تشکیل می دهند که شبکه های تحویل محتوا نامیده می شوند.
- خدمات از راه دور دسترسی به اطلاعات را از راه دور فراهم می کند.
16. ذخیره سازی دقیقاً چیست؟
عمل نگهداری موقت یک کپی از پاسخ سرور در جایی (مانند حافظه رایانه) به منظور دسترسی سریعتر به آن، به عنوان کش شناخته می شود.
حافظه پنهان سرعت سرور را هنگام استفاده از API های REST با کاهش میزان کاری که سرور باید انجام دهد تا درخواست را برآورده کند، افزایش می دهد. برنامههایی که از API استفاده میکنند به لطف ذخیرهسازی سریعتر اجرا میشوند، زیرا مجبور نیستند هر بار که به منبعی نیاز دارند درخواست جدیدی ارسال کنند.
فیلد Cache-Control سرصفحه پاسخ HTTP حاوی اطلاعاتی در مورد مدت زمانی است که یک منبع می تواند توسط مشتری قبل از نیاز به دسترسی مجدد به آن ذخیره شود.
17. بار را شرح دهید.
بارگذاری در REST به اطلاعات موجود در بدنه پاسخ HTTP اشاره دارد. مشتری از تکنیک GET برای درخواست داده های مورد نظر استفاده کرد.
برای مثال، اگر از API توییتر بخواهید توییت خاصی را بخواهید، سندی که حاوی متن توییت و هر فایل لازم برای قرار دادن توییت در یک وبسایت است، در payload گنجانده میشود. علاوه بر این، payload را می توان با استفاده از روش POST در درخواست HTTP گنجاند.
18. متمایز کردن SOAP در مقابل REST?
- برخلاف SOAP که فقط میتواند XML را مدیریت کند، REST طیف گستردهتری از فرمتهای منابع را فعال میکند، از جمله XML، متن، HTML، تصاویر، ویدئو و غیره.
- هنگامی که امنیت برای برنامه های آنلاین بسیار مهم است، SOAP مفید است. زمانی که تراکنش ها باید به طور ایمن انجام شوند، از REST نمی توان استفاده کرد، زیرا امنیت خاصی ندارد.
- از آنجایی که SOAP فقط یک پروتکل است، REST می تواند از آن در خدمات وب خود استفاده کند اما نه برعکس.
- در حالی که REST تنها یک الگوی معماری است که برای توسعه سرویسهای وب استفاده میشود و از محدودیتهای خاصی مانند راهاندازی سرویس گیرنده-سرور، عدم وضعیت، پاسخدهی به حافظه پنهان، سیستمهای لایهای و رابط سازگار پیروی میکند، SOAP پروتکلی است که بر اساس استانداردهای خاصی عمل میکند که باید به شدت رعایت شوند. به.
- در حالی که REST از شناسه های منبع جهانی (URIs) استفاده می کند، SOAP از رابط های سرویس برای ارائه قابلیت های خود به برنامه های مشتری استفاده می کند. REST نیاز به پهنای باند کمتری نسبت به SOAP دارد زیرا پیامهای SOAP اطلاعات سنگینتری دارند.
19. آیا پروتکل امنیتی لایه انتقال (TLS) با REST قابل استفاده است؟
در واقع ما می توانیم. ارتباط کلاینت و سرور REST از طریق TLS رمزگذاری می شود و پروتکل همچنین راهی برای احراز هویت سرورها را در اختیار مشتریان قرار می دهد.
با توجه به اینکه این لایه جایگزین لایه سوکت امن است، برای ارتباط امن (SSL) استفاده می شود. پیاده سازی خدمات وب RESTful با HTTPS موفقیت آمیز است زیرا با TLS و SSL به طور مؤثر همکاری می کند.
REST ویژگیهای پروتکلی را که پیادهسازی میکند به ارث میبرد، که در اینجا باید به آن توجه کرد. در نتیجه، حفاظت های امنیتی به پروتکلی که REST استفاده می کند متکی است.
20. روش های بی قدرت: آنها چیست؟ چگونه در دنیای خدمات وب RESTful اعمال می شود؟
وقتی URI یکسان است، برخی از روشهای HTTP در یک درخواست تأثیر یکسانی روی سرور دارند، چه یک بار یا چند بار تحویل داده شوند. تکنیکهای بیتوان چیزی هستند که به آنها معروف هستند.
به عنوان مثال، مهم نیست که چند بار یک URI با استفاده از روش GET اجرا شود، سرور همیشه همان نتیجه را تجربه خواهد کرد. روشهای Idempotent شامل GET، PUT، و PATCH میشوند.
روشهای HTTP Idempotent برخی از مواردی هستند که توسط RESTful استفاده میشوند برنامه های وب. آنها برای تضمین ثبات در فعالیت های خدمات وب RESTful ضروری هستند.
مشتریانی که از REST API استفاده می کنند می توانند خطاهای کدی ایجاد کنند که یک REST API را مجبور می کند تا درخواست های تکراری تصادفی را انجام دهد. این تماس ها پتانسیل سوء استفاده از منابع را دارند.
21. قابلیت HTTP Basic Authentication چیست؟
هنگام استفاده از احراز هویت پایه به عنوان بخشی از APIها، کاربر باید نام کاربری و رمز عبور را ارسال کند که توسط مرورگر به شکل "نام کاربری: رمز عبور" و با کدگذاری base64 به هم پیوسته اند.
در هر درخواست HTTP از مرورگر، مقدار کدگذاری شده به عنوان مقدار هدر "Authorization" تحویل داده می شود. از آنجایی که اعتبارنامه ها فقط رمزگذاری شده اند، توصیه می شود هنگام ارسال درخواست های HTTPS از این فرم استفاده کنید زیرا ایمن نیستند و در صورت عدم استفاده از پروتکل های امنیتی می توانند توسط هر کسی رهگیری شوند.
22. به نظر شما GraphQL بهترین انتخاب برای ایجاد معماری میکروسرویس است؟
Microservices و GraphQL کاملاً با یکدیگر همراه هستند زیرا GraphQL معماری میکروسرویس شما را از مشتریان شما مخفی نگه می دارد.
از قسمت جلو، شما می خواهید تمام داده های شما از یک API منفرد تهیه شود، در حالی که از قسمت پشتی، می خواهید آن را به میکروسرویس ها تقسیم کنید. بهترین تکنیکی که برای دستیابی به هر دوی آنها می دانم استفاده از GraphQL است.
این به شما امکان میدهد باطن خود را به میکروسرویسها تقسیم کنید در حالی که همچنان به هر برنامه یک API واحد میدهید و امکان اتصال بین دادههای سرویسهای مختلف را فراهم میکند.
23. تفاوت های اصلی بین روش های HTTP ایمن و غیر توانمند چیست؟
روشهای Idempotent زمانی که یک یا چند بار از طریق یک درخواست فراخوانی شوند، نتیجه یکسانی را ایجاد میکنند. روش PUT غیر توانمند است.
همه روشهای ایمن بیتوان هستند، اما همه روشهای بیتوان ایمن نیستند، زیرا روشهای ایمن منابع را تغییر نمیدهند. به عنوان مثال، GET امن است زیرا فقط داده ها را بازیابی می کند و منبع را تغییر نمی دهد.
بهعلاوه، بیتوان است، به این معنی که در هنگام فراخوانی، همیشه همان پاسخ را برمیگرداند.
24. API JAX-RS توسط RESTful Root Resource Classes به چه معناست؟
Java Enterprise Edition کلاس ها و رابط هایی را ارائه می دهد که به الزامات JAX-RS API پایبند هستند. با کمک JAX-RS، ایجاد خدمات وب جاوا به سبک معماری REST آسان تر می شود.
در JAX-RS API، کلاسهای منبع ریشه فقط «اشیاء قدیمی جاوا» یا POJO هستند. به منظور پیاده سازی منابع وب لازم، آنها از حاشیه نویسی JAX-RS استفاده می کنند.
آنها یا دارای حاشیه نویسی @path هستند یا حداقل یکی از روش های آنها دارای حاشیه نویسی @path است. آنها را می توان به عنوان کلاس های جاوا با روش هایی برای برخورد با نقاط پایانی API خلاصه کرد.
25. Postman دقیقا چیست و چرا استفاده می شود؟
یک ابزار توسعه API به نام Postman برای ایجاد، آزمایش و اصلاح APIها استفاده می شود. این ابزار می تواند توسط توسعه دهندگان برای هر ویژگی که برای یک API نیاز دارند استفاده شود. کار توسعه دهندگان را ساده و تسهیل می کند.
Postman ایجاد انواع پرس و جوهای HTTP از جمله GET، POST، PUT و PATCH را آسان می کند، محیط ها را برای استفاده بعدی ذخیره می کند، و API ها را به کد در تعدادی از زبان های مختلف تبدیل می کند.
هر مرحله از چرخه API با Postman سادهتر میشود و همکاری برای توسعه سریعتر API سادهتر میشود.
علاوه بر این، توسعه دهندگان را قادر می سازد تا اسناد، مشخصات، موارد آزمایشی، فرآیندها و کاتالوگ های API را مدیریت کنند.
26. چگونه API های REST ایمن نگه داشته می شوند؟
از آنجایی که API های REST به اندازه SOAP API از حفاظت های امنیتی دقیقی استفاده نمی کنند، داده های حساس نباید با استفاده از آنها ارسال یا بازیابی شوند.
با این حال، API های قابل اعتماد REST همچنان به ادغام کنترل های امنیتی برای انتقال داده های ایمن و قابل اعتماد ادامه می دهند.
- احراز هویت و مجوز: هر درخواستی که به API ارسال می شود باید این دو بررسی را انجام دهد. تأیید هویت مشتری از طریق احراز هویت و تأیید اینکه آنها اختیار دسترسی به منابع درخواستی از طریق مجوز را دارند، دو فرآیند متفاوت هستند.
- اعتبارسنجی: قبل از اینکه API به منابع خود دسترسی پیدا کند، درخواستها باید پس از احراز هویت و مجوز همچنان برای کدهای احتمالی مضر بررسی شوند. بنابراین یک سرور برای حمله تزریقی باز خواهد بود.
- اعتبارسنجی: قبل از اینکه API به منابع خود دسترسی پیدا کند، درخواستها باید پس از احراز هویت و مجوز همچنان برای کدهای احتمالی مضر بررسی شوند. بنابراین یک سرور برای حمله تزریقی باز خواهد بود.
- رمزگذاری: رمزگذاری TLS/SSL از ارتباط بین مشتری و سرور محافظت می کند و هکرها را از رهگیری درخواست ها و پاسخ ها باز می دارد.
- تکنیکهای محدودکننده نرخ، مانند محدودیتها و throttling، سرورها را در برابر حملات brute-force مانند DDoS محافظت میکند که هدف آنها تخریب یا خراب کردن آنهاست.
- عدم وجود اطلاعات حساس در URIها: URIهای منابع نباید حاوی هیچ گونه داده محافظت شده باشد (مانند نام کاربری، رمز عبور یا رمز احراز هویت).
نتیجه
تبریک می گویم! چندین سؤال اساسی تا پیچیده مصاحبه REST API و راه حل های مربوط به آنها اکنون در دسترس شما هستند.
اکنون که مفهوم خوبی از نحوه پاسخگویی به برخی از سوالات معمول مصاحبه REST API دارید، می توانید به مصاحبه ها پاسخ دهید. مرحله بعدی به اهداف شما بستگی دارد.
بازدید سری مصاحبه با Hashdork برای آماده شدن برای مصاحبه.
پاسخ دهید