کی میز کے مندرجات[چھپائیں][دکھائیں]
- 1. آپ REST سے کیا سمجھتے ہیں؟
- 2. REST API سے آپ کا کیا مطلب ہے؟
- 3. URI بالکل کیا ہے؟
- 4. RESTful Web Services کی خصوصیات کیا ہیں؟
- 5. REST کے رہنما اصول کیا ہیں؟
- 6. ان HTTP طریقوں کا ذکر کریں جن کی REST حمایت کرتا ہے۔
- 7. ایک مستقل انٹرفیس کے ذریعہ لگائی گئی پابندیوں کی وضاحت کریں۔
- 8. ریسٹ ریسورس بالکل کیا ہے؟
- 9. آپ کے لیے JAX-RS کا کیا مطلب ہے؟
- 10. AJAX اور REST کو ایک دوسرے سے کیا فرق ہے؟
- 11. کیا آپ کچھ آرام دہ ویب سروسز کی خرابیوں کی فہرست دے سکتے ہیں؟
- 12. PUT اور POST تکنیک کو ایک دوسرے سے کیا فرق ہے؟
- 13. آپ RESTful ویب سروسز کی جانچ کیسے کرتے ہیں؟
- 14. حقیقی دنیا میں ایک REST API کی وضاحت کریں۔
- 15. مائیکرو سروس آرکیٹیکچر کیسے کام کرتا ہے؟
- 16. اصل میں کیشنگ کیا ہے؟
- 17. پے لوڈ کی وضاحت کریں۔
- 18. صابن بمقابلہ آرام میں فرق کریں؟
- 19. کیا ٹرانسپورٹ لیئر سیکیورٹی پروٹوکول (TLS) REST کے ساتھ استعمال کیا جا سکتا ہے؟
- 20. بے حسی کے طریقے: وہ کیا ہیں؟ یہ RESTful ویب سروسز کی دنیا پر کیسے لاگو ہوتا ہے؟
- 21. HTTP بنیادی تصدیق کی فعالیت کیا ہے؟
- 22. کیا آپ کو لگتا ہے کہ مائیکرو سروس آرکیٹیکچر بنانے کے لیے گراف کیو ایل بہترین انتخاب ہے؟
- 23. محفوظ اور غیرمعمولی HTTP طریقوں کے درمیان بنیادی فرق کیا ہیں؟
- 24. RESTful Root Resource Classes سے JAX-RS API کا کیا مطلب ہے؟
- 25. ڈاکیا اصل میں کیا ہے، اور اسے کیوں استعمال کیا جاتا ہے؟
- 26. REST APIs کو کیسے محفوظ رکھا جاتا ہے؟
- نتیجہ
REST کے ارتقاء نے APIs کو ناقابل یقین حد تک قابل رسائی بنا دیا ہے جبکہ ان کی پوری طاقت اور صلاحیت کو بھی ظاہر کیا ہے۔ REST APIs اپنے وسائل پر مبنی فن تعمیر کی وجہ سے تخلیق اور کیش کرنے میں آسان ہیں۔
مزید برآں، وقت کے دوران، RESTful APIs دیگر اہم پیش رفتوں جیسے کلاؤڈ کمپیوٹنگ اور مائیکرو سروس پر مبنی ڈیزائن کے پیش رو تھے۔
لہٰذا، اس میں کوئی تعجب کی بات نہیں ہونی چاہیے کہ REST API کے ڈویلپرز کی آج ڈیمانڈ ہے اس لیے کہ وہ کس طرح ایسے کاروبار فراہم کرتے ہیں جو RESTful سروسز کو مسابقتی برتری فراہم کرتے ہیں۔ REST APIs ایک مقبول ڈیزائن کا رجحان ہے۔
بہت سی IT فرمیں 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 ہر ٹویٹ کو ایک قابل بازیافت وسیلہ بناتا ہے جو کلائنٹس کے لیے دستیاب ہے۔ ٹویٹر API کو صارفین ٹویٹس پوسٹ کرنے اور ویب سائٹ کے دیگر کاموں کو انجام دینے کے لیے استعمال کر سکتے ہیں۔
3. URI بالکل کیا ہے؟
A کمپیوٹر نیٹ ورک وسائل کا حوالہ URI یا یکساں وسائل کی شناخت کنندہ کا استعمال کرتے ہوئے کیا جا سکتا ہے۔ یہ ایک وسائل کو دوسرے سے الگ کرنے کے ذریعہ کام کرتا ہے۔ ذرائع آن لائن ہو سکتے ہیں یا نہیں۔
اپنی معیاری ساخت کی وجہ سے، URIs مختلف قسم کے وسائل سے جڑنا آسان بنا دیتے ہیں۔ وسیلہ کا مقام یا نام URIs میں حروف کی ایک تار کے ساتھ شامل ہے۔
URI ایک راستے، اسکیم، استفسار اور دیگر عناصر سے بنا ہے لیکن اس میں پروٹوکول شامل نہیں ہے۔
ایک پروٹوکول کا استعمال کرتے ہوئے، یو آر ایل (یونیفارم ریسورس لوکیٹر) کا استعمال انٹرنیٹ پر وسائل تلاش کرنے یا اس کے ذریعے قابل رسائی ہونے کے لیے کیا جاتا ہے۔
4. RESTful Web Services کی خصوصیات کیا ہیں؟
- کلائنٹ-سرور پیراڈائم سروس کی بنیاد ہے۔
- سروس URIs کے ذریعے وسائل تک رسائی حاصل کر سکتی ہے۔
- سروس ڈیٹا/وسائل حاصل کرنے، سوالات چلانے، اور دیگر کام کرنے کے لیے HTTP پروٹوکول کا استعمال کرتی ہے۔
- پیغام رسانی اس طریقہ کا نام ہے جو کلائنٹ اور سرور کے درمیان بات چیت کے لیے استعمال ہوتا ہے۔
- یہ خدمات SOAP خدمات کا استعمال کرتے ہوئے REST آرکیٹیکچرل پیٹرن کو بھی نافذ کر سکتی ہیں۔
- اسی طرح کی بار بار کی جانے والی درخواستوں کے لیے سرور کالز کو کم کرنے کے لیے، یہ خدمات کیشنگ کے خیال کو بھی استعمال کرتی ہیں۔
5. REST کے رہنما اصول کیا ہیں؟
REST APIs کے ذریعہ پانچ معیارات کو پورا کرنا ضروری ہے:
کلائنٹ سرور ڈیکپلنگ: کلائنٹ اور سرور کے درمیان بات چیت کرنے کے لیے صرف درخواستوں اور جوابات کا ایک سلسلہ استعمال کیا جا سکتا ہے۔ صرف کلائنٹس اور سرورز بالترتیب درخواستیں اور جوابات بھیج سکتے ہیں۔ یہ سیدھا سادا خیال دونوں فریقوں کو ایک دوسرے سے آزادانہ طور پر کام کرنے کے قابل بناتا ہے۔
یکساں انٹرفیس: تمام کلائنٹ-سرور کنکشنز کے لیے یکساں پروٹوکول ہونا چاہیے۔ REST کے لیے یہ پروٹوکول HTTP ہے۔ چونکہ ہر ایپلیکیشن ایک ہی زبان کا استعمال کرتے ہوئے ڈیٹا کی درخواست اور بھیجتی ہے، ایک مستقل انٹرفیس انضمام کو آسان بناتا ہے۔
اسٹیٹ لیس: سرور سابقہ درخواستوں یا جوابات کا کوئی ریکارڈ اسٹیٹ لیس کمیونیکیشن میں محفوظ نہیں کرتا ہے۔ ہر درخواست اور جواب تبادلے کو مکمل کرنے کے لیے درکار تمام تفصیلات فراہم کرتا ہے۔ بے ریاست مواصلات رفتار کو بڑھاتا ہے، یادداشت کو بچاتا ہے، اور سرور پر دباؤ کو کم کرتا ہے۔ مزید برآں، یہ نامکمل ڈیٹا کی وجہ سے درخواست کے ناکام ہونے کے امکان سے بچتا ہے۔
پرتوں والا نظام: کلائنٹ اور API سرور کے درمیان رہنے والے سرورز کو پرتوں کے طور پر کہا جاتا ہے۔ یہ اضافی سرور متعدد خدمات انجام دیتے ہیں، جیسے سپیم کا پتہ لگانا اور رفتار کو بہتر بنانا۔ REST میں پرتیں ماڈیولر ہیں، یعنی انہیں کلائنٹ اور API سرور کے درمیان مواصلات کو متاثر کیے بغیر شامل اور حذف کیا جا سکتا ہے۔
کیش ایبل: کلائنٹ رفتار بڑھانے کے لیے کسی بھی وسائل کو کیش کر سکتے ہیں اگر سرور کے جوابات اس بات کی نشاندہی کرتے ہیں کہ وسائل قابل کیش ہے یا نہیں۔
آن ڈیمانڈ کوڈنگ: جواب میں، ایک API قابل عمل کمپیوٹر کوڈ صارفین کو منتقل کر سکتا ہے۔ کلائنٹ ایپلیکیشن اس کے بعد کوڈ کو اپنے بیک اینڈ پر چلا سکتی ہے۔
6. ان HTTP طریقوں کا ذکر کریں جن کی REST حمایت کرتا ہے۔
HTTP طریقے جن کی REST حمایت کرتا ہے وہ ہیں:
- حاصل کریں: یہ طریقہ مخصوص یو آر ایل پر وسائل طلب کرتا ہے۔ درخواست کا حصہ شامل نہیں کیا جانا چاہئے کیونکہ اسے نظر انداز کر دیا جائے گا۔ اسے مقامی طور پر یا سرور پر کیش کرنا ممکن ہے۔
- پوسٹ: یہ طریقہ پروسیسنگ کے لیے کسی سروس کو ڈیٹا بھیجتا ہے، اور سروس کو عام طور پر ایک نیا یا تبدیل شدہ وسیلہ واپس کرنا چاہیے۔
- PUT: وسائل کو درخواست کے URL پر اپ ڈیٹ کیا جاتا ہے۔
- DELETE: وسیلہ کو درخواست کے URL پر حذف کر دیا جاتا ہے۔
- اختیارات: یہ معاون طریقوں کی نشاندہی کرتا ہے۔
- HEAD: درخواست کے URL کا میٹا ڈیٹا واپس کر دیا گیا ہے۔
7. ایک مستقل انٹرفیس کے ذریعہ لگائی گئی پابندیوں کی وضاحت کریں۔
کلائنٹ کو سرور سے الگ کرنے کے لیے، ایک مستقل انٹرفیس کی ضرورت ہے۔
ایک مستقل انٹرفیس حاصل کرنے کے لیے، درج ذیل چار رکاوٹوں کی ضرورت ہے۔
- وسائل کی شناخت: کلائنٹ کی درخواستوں کو وسائل (URIs) کی شناخت کے لیے معیاری وسائل کی شناخت کا استعمال کرنا چاہیے۔
- ان نمائندگیوں کا استعمال کرتے ہوئے وسائل میں ہیرا پھیری: کلائنٹس کے پاس وہ تمام معلومات ہوتی ہیں جن کی ضرورت ہوتی ہے تاکہ وہ وسائل کی حالت کو تبدیل کر سکیں جب وہ سرور سے وسائل کی نمائندگی حاصل کرتے ہیں۔
- خود وضاحتی پیغامات: پیغامات میں تمام میٹا ڈیٹا اور وصول کنندہ کو سمجھنے کے لیے درکار دیگر معلومات شامل ہوتی ہیں۔
- ہائپرمیڈیا بطور ایپلیکیشن اسٹیٹ انجن: کلائنٹ-سرور کمیونیکیشن کے لیے چینل ہائپر میڈیا ہے، جیسے ایچ ٹی ایم ایل، اور کلائنٹس کو سرور کے جوابات کو سمجھنے کے لیے API کے مخصوص دستاویزات کی ضرورت نہیں ہے۔
8. ریسٹ ریسورس بالکل کیا ہے؟
وسائل ایک REST فن تعمیر میں RESTful ویب سروس کے بنیادی اجزاء ہیں۔ ان میں وہ تمام اہم معلومات شامل ہیں جن تک ایک API کلائنٹ تک رسائی کی ضرورت ہوتی ہے۔
کسی بھی قسم کے وسائل، جیسے کہ HTML صفحہ، تصویر، ویڈیو، یا API سرگرمی کے لیے درکار کوئی اور چیز، کلائنٹ سرور سسٹم میں سرور کے ذریعے حاصل کی جا سکتی ہے۔
وسائل کی شناخت یکساں وسائل کے شناخت کنندہ کے ذریعہ کی جاتی ہے۔ متن، JSON، یا XML وسائل کی تمام قابل قبول نمائندگی ہیں۔ یہ بتانے کے بعد کہ، نمائندگی کے فارمیٹ پر کوئی پابندی نہیں ہے۔
9. آپ کے لیے JAX-RS کا کیا مطلب ہے؟
RESTful ویب سروسز کے لیے Java API کی بدولت جاوا میں RESTful ویب سروسز بنانا آسان ہے، جسے اکثر JAX-RS کہا جاتا ہے۔ ڈویلپر فراہم کردہ تشریحات کا استعمال کرتے ہوئے وسائل اور ان کارروائیوں کی وضاحت کر سکتے ہیں جو ان پر کی جا سکتی ہیں۔
10. AJAX اور REST کو ایک دوسرے سے کیا فرق ہے؟
ایجیکس:
- ایجیکس ٹیکنالوجیز کا ایک گروپ ہے جو کی متحرک اپ ڈیٹ کرنے کی اجازت دیتا ہے۔ یوزر انٹرفیس صفحہ کو دوبارہ لوڈ کیے بغیر عناصر۔
- ایجیکس کلائنٹ اور سرور کے درمیان غیر مطابقت پذیر مواصلات کو ہٹاتا ہے۔
آرام:
- REST سرور اور کلائنٹ کے درمیان مواصلت کا مطالبہ کرتا ہے۔
- وسائل کا استعمال URL کے ڈھانچے اور REST کے ذریعہ استعمال کردہ درخواست/جواب کے پیٹرن کے لیے اہم ہے۔
11. کیا آپ کچھ آرام دہ ویب سروسز کی خرابیوں کی فہرست دے سکتے ہیں؟
سیشنز کو جاری نہیں رکھا جا سکتا کیونکہ خدمات بے وطنی کے تصور پر قائم ہیں۔ (کلائنٹ سیشن کی نقل کے دوران سیشن آئی ڈی کو پاس کرنے کا ذمہ دار ہے۔)
حفاظتی رکاوٹیں REST کے لیے بنیادی نہیں ہیں۔ اس کا استعمال کرنے والے پروٹوکول حفاظتی احتیاطی تدابیر کے وارث ہیں۔ لہٰذا، حفاظتی اقدامات کو لاگو کرتے وقت احتیاط برتنا، جیسے کہ SSL/TLS پر مبنی توثیق کو مربوط کرنا، ضروری ہے۔
12. PUT اور POST تکنیک کو ایک دوسرے سے کیا فرق ہے؟
پٹ:
- PUT جوابات کے لیے کوئی ذخیرہ نہیں ہے۔
- بے حس (یعنی متعدد درخواستوں کا نتیجہ ایک ہی ہوگا)
- درخواست کا پے لوڈ اپ ڈیٹ کرتا ہے یا ہدف کے وسائل کو بدل دیتا ہے۔
پوسٹ:
- کمزور نہیں ہے (یعنی متعدد درخواستوں سے ایک ہی وسیلہ کے ضرب ملے گا)
- ویب سرور مطلوبہ وسائل کی بنیاد پر درخواست کے پے لوڈ پر کارروائی کرتا ہے۔
- اگر مناسب کیش کنٹرول ہیڈر شامل کیا جائے تو، POST جوابات کو کیش کیا جا سکتا ہے۔
13. آپ RESTful ویب سروسز کی جانچ کیسے کرتے ہیں؟
آرام دہ ویب سروس کی جانچ کو متعدد ٹولز سے مدد مل سکتی ہے، بشمول سویگر اور پوسٹ مین۔ درخواست کے پیرامیٹرز جیسے استفسار کے پیرامیٹرز، ہیڈرز، اور رسپانس ہیڈرز کا معائنہ کرنا مؤخر الذکر کی خصوصیات کی کثرت سے ممکن ہوا ہے۔
پوسٹ مین کو اختتامی مقامات پر درخواستیں کرنے اور نتائج دکھانے کے لیے استعمال کیا جا سکتا ہے۔ اور ان جوابات سے XML اور JSON بنائے جا سکتے ہیں۔
پوسٹ مین اور سویگر دونوں انتہائی تقابلی افعال فراہم کرتے ہیں۔ دوسری طرف، سویگر اینڈ پوائنٹ دستاویزات جیسی صلاحیتیں بھی پیش کرتا ہے۔
14. حقیقی دنیا میں ایک REST API کی وضاحت کریں۔
- سفر اور ٹکٹنگ ویب سائٹس پرواز کے اوقات اور قیمتوں کا فائدہ اٹھا سکتی ہیں جو ایئر لائنز APIs کے ذریعے دستیاب کرتی ہیں۔
- نقشہ سازی اور نیویگیشن ایپس (جیسے Google Maps) کو استعمال کرنے کے لیے، پبلک ٹرانسپورٹ ایجنسیاں اکثر اپنے ڈیٹا کو APIs کے ذریعے حقیقی وقت میں عوامی طور پر دستیاب کرتی ہیں۔
- موسم کی ایپلی کیشنز کھلے APIs کا استعمال کرتے ہیں جو موسم کی معلومات کو ظاہر کرنے کے لیے موسم کے ڈیٹا کا تبادلہ کرتے ہیں۔
- ڈویلپرز Google Maps کے میپنگ ڈیٹا تک اس کے متعدد میزبان APIs کے ذریعے رسائی حاصل کر سکتے ہیں۔ ان APIs کا استعمال ڈویلپرز اپنی ایپس اور ویب سائٹس میں متحرک نقشوں کو سرایت کرنے کے لیے کرتے ہیں۔
15. مائیکرو سروس آرکیٹیکچر کیسے کام کرتا ہے؟
- درخواستیں مختلف صارفین کے ذریعہ مختلف آلات استعمال کرکے بھیجی جاتی ہیں۔
- کلائنٹس کی شناخت کی تصدیق کے بعد، شناخت فراہم کرنے والے سیکورٹی ٹوکن فراہم کرتے ہیں۔
- کلائنٹ کی درخواستوں کا انتظام API گیٹ وے کے ذریعے کیا جاتا ہے۔
- سسٹم کا تمام مواد جامد مواد کے طور پر محفوظ ہے۔
- مینجمنٹ ٹول نوڈس اور کسی بھی خرابی پر خدمات کے توازن کو چیک کرتا ہے۔
- مائیکرو سروسز کے درمیان مواصلت کا راستہ دریافت کرنے میں خدمت کی دریافت سے مدد ملتی ہے۔
- ڈیٹا سینٹرز اور پراکسی سرورز منتشر نیٹ ورک سسٹم بناتے ہیں جنہیں مواد کی ترسیل کے نیٹ ورک کہتے ہیں۔
- دور دراز کی خدمات دور سے معلومات تک رسائی فراہم کرتی ہیں۔
16. اصل میں کیشنگ کیا ہے؟
سرور کے جواب کی کاپی عارضی طور پر کہیں (جیسے کمپیوٹر میموری) رکھنے کی مشق کو بعد میں زیادہ تیزی سے رسائی حاصل کرنے کے لیے کیشنگ کے نام سے جانا جاتا ہے۔
REST APIs کا استعمال کرتے وقت کیشنگ سرور کی رفتار کو بڑھاتی ہے اس کام کی مقدار کو کم کر کے جو سرور کو درخواست کو پورا کرنے کے لیے کرنا چاہیے۔ وہ ایپلیکیشنز جو API کا استعمال کرتی ہیں وہ کیشنگ کی بدولت تیزی سے چلتی ہیں کیونکہ جب بھی انہیں وسائل کی ضرورت ہوتی ہے تو انہیں نئی درخواست جمع کرنے کی ضرورت نہیں ہوتی ہے۔
HTTP رسپانس ہیڈر کے Cache-Control فیلڈ میں اس بارے میں معلومات ہوتی ہے کہ کلائنٹ کے ذریعہ وسیلہ کو دوبارہ تک رسائی کی ضرورت سے پہلے کتنی دیر تک کیش کیا جا سکتا ہے۔
17. پے لوڈ کی وضاحت کریں۔
REST میں پے لوڈ HTTP ردعمل کے باڈی میں موجود معلومات سے مراد ہے۔ صارف نے زیر بحث ڈیٹا کی درخواست کرنے کے لیے GET تکنیک کا استعمال کیا۔
ٹویٹ کے متن اور ویب سائٹ پر ٹویٹ ڈالنے کے لیے ضروری فائلوں پر مشتمل دستاویز کو پے لوڈ میں شامل کیا جائے گا، مثال کے طور پر، اگر آپ ٹویٹر API سے مخصوص ٹویٹ کے لیے پوچھتے ہیں۔ مزید برآں، پے لوڈ کو POST طریقہ استعمال کرتے ہوئے HTTP درخواست میں شامل کیا جا سکتا ہے۔
18. فرق کرنا صابن بمقابلہ آرام?
- 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 طریقوں کا سرور پر ایک ہی اثر پڑتا ہے چاہے وہ ایک بار یا کئی بار ڈیلیور کیے جائیں۔ Idempotent تکنیکیں وہی ہیں جو ان کے نام سے مشہور ہیں۔
مثال کے طور پر، اس سے کوئی فرق نہیں پڑتا ہے کہ GET طریقہ استعمال کرتے ہوئے URI کو کتنی بار چلایا جائے، سرور ہمیشہ ایک ہی نتیجہ کا تجربہ کرے گا۔ قابل عمل طریقوں میں GET، PUT، اور PATCH شامل ہیں، چند ایک کے نام۔
Idempotent HTTP طریقوں میں سے کچھ ہیں جو RESTful استعمال کرتے ہیں۔ ویب ایپلی کیشنز. وہ RESTful ویب سروسز کی سرگرمیوں میں مستقل مزاجی کی ضمانت کے لیے ضروری ہیں۔
جو صارفین REST APIs استعمال کرتے ہیں وہ کوڈ کی غلطیاں کر سکتے ہیں جو REST API کو اتفاقی طور پر بار بار درخواستیں کرنے پر مجبور کرتے ہیں۔ ان کالز میں وسائل کے غلط استعمال کی صلاحیت ہے۔
21. HTTP بنیادی تصدیق کی فعالیت کیا ہے؟
APIs کے حصے کے طور پر بنیادی توثیق کا استعمال کرتے وقت، صارف کو صارف کا نام اور پاس ورڈ جمع کرانا چاہیے، جو براؤزر کے ذریعے "صارف کا نام: پاس ورڈ" اور بیس 64 انکوڈ کی شکل میں جمع کیا جاتا ہے۔
براؤزر کی طرف سے ہر HTTP درخواست پر، انکوڈ شدہ قدر "Authorization" ہیڈر کی قدر کے طور پر ڈیلیور کی جاتی ہے۔ چونکہ اسناد صرف انکوڈ شدہ ہیں، لہذا یہ سفارش کی جاتی ہے کہ HTTPS درخواستیں بھیجتے وقت اس فارم کو استعمال کریں کیونکہ وہ محفوظ نہیں ہیں اور اگر حفاظتی پروٹوکول استعمال نہیں کیے جاتے ہیں تو کوئی بھی اسے روک سکتا ہے۔
22. کیا آپ کو لگتا ہے کہ مائیکرو سروس آرکیٹیکچر بنانے کے لیے گراف کیو ایل بہترین انتخاب ہے؟
مائیکرو سروسز اور گراف کیو ایل بالکل ساتھ چلتے ہیں کیونکہ گراف کیو ایل آپ کے مائیکرو سروسز فن تعمیر کو آپ کے کلائنٹس سے خفیہ رکھتا ہے۔
سامنے والے سرے سے، آپ چاہتے ہیں کہ آپ کا تمام ڈیٹا ایک API سے آئے، جب کہ پچھلے سرے سے، آپ اسے مائیکرو سروسز میں تقسیم کرنا چاہتے ہیں۔ دونوں کو حاصل کرنے کے لیے میں جس بہترین تکنیک سے واقف ہوں وہ ہے گراف کیو ایل کا استعمال۔
یہ آپ کو اپنے بیک اینڈ کو مائیکرو سروسز میں تقسیم کرنے کے قابل بناتا ہے جبکہ اب بھی ہر ایپلیکیشن کو ایک ہی API دیتا ہے اور مختلف سروسز کے ڈیٹا میں شمولیت کو فعال کرتا ہے۔
23. محفوظ اور غیرمعمولی HTTP طریقوں کے درمیان بنیادی فرق کیا ہیں؟
جب ایک ہی درخواست کے ذریعے ایک یا کئی بار درخواست کی جاتی ہے تو Idempotent طریقے ایک ہی نتیجہ پیدا کرتے ہیں۔ PUT طریقہ بے ضمیر ہے۔
تمام محفوظ طریقے بے ضمیر ہیں، لیکن تمام کمزور طریقے محفوظ نہیں ہیں کیونکہ محفوظ طریقے وسائل کو تبدیل نہیں کرتے ہیں۔ مثال کے طور پر، GET محفوظ ہے کیونکہ یہ صرف ڈیٹا کو بازیافت کرتا ہے اور وسائل کو تبدیل نہیں کرتا ہے۔
مزید برآں، یہ idempotent ہے، مطلب یہ ہے کہ جب درخواست کی جائے گی تو یہ ہمیشہ وہی جواب دے گا۔
24. RESTful Root Resource Classes سے JAX-RS API کا کیا مطلب ہے؟
جاوا انٹرپرائز ایڈیشن کلاسز اور انٹرفیس فراہم کرتا ہے جو JAX-RS API کے تقاضوں کی پابندی کرتے ہیں۔ JAX-RS کی مدد سے، REST آرکیٹیکچرل انداز میں جاوا ویب سروسز بنانا آسان بنا دیا گیا ہے۔
JAX-RS API میں، روٹ ریسورس کلاسز صرف "سادہ پرانے جاوا آبجیکٹ" یا POJO ہیں۔ ضروری ویب وسائل کو لاگو کرنے کے لیے، وہ JAX-RS تشریحات کا استعمال کرتے ہیں۔
ان کے پاس یا تو @path تشریحات ہیں یا کم از کم ان کے طریقوں میں سے ایک میں @path تشریحات ہیں۔ API کے اختتامی نکات سے نمٹنے کے طریقوں کے ساتھ ان کا خلاصہ جاوا کلاسز کے طور پر کیا جا سکتا ہے۔
25. ڈاکیا اصل میں کیا ہے، اور اسے کیوں استعمال کیا جاتا ہے؟
ایک API ڈویلپمنٹ ٹول جسے پوسٹ مین کہتے ہیں APIs بنانے، جانچنے اور ان میں ترمیم کرنے کے لیے استعمال کیا جاتا ہے۔ اس ٹول کو ڈویلپرز کسی بھی خصوصیت کے لیے استعمال کر سکتے ہیں جو انہیں API کے لیے درکار ہے۔ یہ ڈویلپرز کے کام کو آسان اور سہولت فراہم کرتا ہے۔
پوسٹ مین مختلف قسم کے HTTP سوالات کرنا آسان بناتا ہے، بشمول GET، POST، PUT، اور PATCH، بعد میں استعمال کے لیے ماحول کو محفوظ کرنا، اور APIs کو متعدد مختلف زبانوں میں کوڈ میں تبدیل کرنا۔
API سائیکل کے ہر مرحلے کو پوسٹ مین کے ساتھ آسان بنایا گیا ہے، اور API کی تیز تر ترقی کے لیے تعاون کو ہموار کیا گیا ہے۔
مزید برآں، یہ ڈویلپرز کو دستاویزات، وضاحتیں، ٹیسٹ کیسز، عمل، اور API کیٹلاگ کا انتظام کرنے کے قابل بناتا ہے۔
26. REST APIs کو کیسے محفوظ رکھا جاتا ہے؟
چونکہ REST APIs SOAP APIs کی طرح سخت حفاظتی تحفظات استعمال نہیں کرتے ہیں، اس لیے ان کا استعمال کرتے ہوئے حساس ڈیٹا کو بھیجا یا بازیافت نہیں کیا جانا چاہیے۔
تاہم، قابل اعتماد REST APIs محفوظ اور قابل بھروسہ ڈیٹا کی ترسیل کے لیے سیکیورٹی کنٹرولز کو مربوط کرنا جاری رکھے ہوئے ہیں۔
- توثیق اور اجازت: API کو کی گئی ہر درخواست کو ان دو چیکس کو پاس کرنا ہوگا۔ تصدیق کے ذریعے کلائنٹ کی شناخت کی تصدیق کرنا اور اس بات کی تصدیق کرنا کہ ان کے پاس اجازت کے ذریعے درخواست کردہ وسائل تک رسائی کا اختیار ہے دو مختلف عمل ہیں۔
- توثیق: اس سے پہلے کہ API اپنے وسائل تک رسائی فراہم کرے، توثیق اور اجازت کے بعد بھی درخواستوں کو ممکنہ طور پر نقصان دہ کوڈ کے لیے چیک کیا جانا چاہیے۔ اس طرح ایک سرور انجیکشن اٹیک کے لیے کھلا ہوگا۔
- توثیق: اس سے پہلے کہ API اپنے وسائل تک رسائی فراہم کرے، توثیق اور اجازت کے بعد بھی درخواستوں کو ممکنہ طور پر نقصان دہ کوڈ کے لیے چیک کیا جانا چاہیے۔ اس طرح ایک سرور انجیکشن اٹیک کے لیے کھلا ہوگا۔
- خفیہ کاری: TLS/SSL انکرپشن کلائنٹ اور سرور کے درمیان رابطے کی حفاظت کرتی ہے اور ہیکرز کو درخواستوں اور جوابات کو روکنے سے روکتی ہے۔
- شرح کو محدود کرنے والی تکنیکیں، جیسے حدود اور تھروٹلنگ، سرورز کو DDoS جیسے وحشیانہ حملوں سے بچاتی ہیں جن کا مقصد انہیں نیچا یا کریش کرنا ہے۔
- URIs میں کوئی حساس معلومات نہیں: وسائل کے URIs میں کوئی محفوظ ڈیٹا نہیں ہونا چاہیے (جیسے صارف کا نام، پاس ورڈ، یا تصدیقی ٹوکن)۔
نتیجہ
مبارک ہو! پیچیدہ REST API انٹرویو کے کئی بنیادی سوالات اور ان کے متعلقہ حل اب آپ کی انگلی پر ہیں۔
اب جب کہ آپ کے پاس REST API انٹرویو کے کچھ مخصوص سوالات کا جواب دینے کا ایک اچھا تصور ہے، آپ انٹرویوز کا جواب دینے کے لیے آگے بڑھ سکتے ہیں۔ اگلا مرحلہ آپ کے مقاصد پر منحصر ہے۔
دورہ انٹرویو سیریز انٹرویو کی تیاری کے لیے Hashdork کے ساتھ۔
جواب دیجئے