विषयसूची[लुकाउनुहोस्][देखाउनु]
- 1. तपाईंले REST द्वारा के बुझ्नुहुन्छ?
- 2. REST API भन्नाले के बुझ्नुहुन्छ?
- 3. वास्तवमा URI भनेको के हो?
- 4. RESTful वेब सेवाहरूको विशेषताहरू के हुन्?
- 5. REST को मार्गदर्शक सिद्धान्तहरू के हुन्?
- ६. REST ले समर्थन गर्ने HTTP विधिहरू उल्लेख गर्नुहोस्।
- 7. एक सुसंगत इन्टरफेस द्वारा राखिएको प्रतिबन्धहरू वर्णन गर्नुहोस्।
- 8. वास्तवमा REST संसाधन भनेको के हो?
- 9. JAX-RS ले तपाईको लागि के अर्थ राख्छ?
- 10. AJAX र REST लाई एकअर्काबाट के फरक पार्छ?
- 11. के तपाइँ केहि रेस्टफुल वेब सेवाहरूको कमजोरीहरू सूचीबद्ध गर्न सक्नुहुन्छ?
- 12. PUT र POST प्रविधिहरूलाई एकअर्काबाट के फरक पार्छ?
- 13. तपाईं कसरी RESTful वेब सेवाहरू परीक्षण गर्नुहुन्छ?
- 14. वास्तविक संसारमा REST API को वर्णन गर्नुहोस्।
- 15. माइक्रोसर्भिस आर्किटेक्चरले कसरी काम गर्छ?
- 16. वास्तवमा क्यासिङ भनेको के हो?
- 17. पेलोड वर्णन गर्नुहोस्।
- 18. SOAP Vs REST को फरक पार्नुहोस्?
- 19. के यातायात तह सुरक्षा प्रोटोकल (TLS) REST सँग प्रयोग गर्न सकिन्छ?
- 20. इडम्पोटेन्ट विधिहरू: तिनीहरू के हुन्? यो RESTful वेब सेवाहरूको संसारमा कसरी लागू हुन्छ?
- 21. HTTP आधारभूत प्रमाणीकरण को कार्यक्षमता के हो?
- 22. के तपाईलाई GraphQL माइक्रोसर्भिस आर्किटेक्चर बनाउनको लागि उत्तम विकल्प हो जस्तो लाग्छ?
- 23. सुरक्षित र असक्षम HTTP विधिहरू बीचको मुख्य भिन्नताहरू के हुन्?
- 24. JAX-RS API ले RESTful Root Resource Classes ले के बुझाउँछ?
- 25. पोस्टम्यान भनेको के हो र यो किन प्रयोग गरिन्छ?
- 26. REST API लाई कसरी सुरक्षित राखिन्छ?
- निष्कर्ष
REST को विकासले API लाई अविश्वसनीय रूपमा पहुँचयोग्य बनाएको छ र साथै तिनीहरूको पूर्ण शक्ति र सम्भावना पनि प्रकट गरेको छ। REST API हरू सिर्जना गर्न र क्यास गर्न सजिलो छ किनभने तिनीहरूको स्रोत-आधारित वास्तुकला।
थप रूपमा, समय भर, RESTful API हरू क्लाउड कम्प्युटिङ र माइक्रोसर्भिस-आधारित डिजाइन जस्ता अन्य महत्त्वपूर्ण विकासहरूका अग्रदूतहरू थिए।
त्यसकारण, यो कुनै अचम्मको कुरा हुनु हुँदैन कि REST API विकासकर्ताहरू आज मागमा छन् उनीहरूले कसरी RESTful सेवाहरूलाई प्रतिस्पर्धात्मक किनारामा रोजगारी गर्ने व्यवसायहरू प्रदान गर्छन्। REST API एक लोकप्रिय डिजाइन प्रवृत्ति हो।
धेरै आईटी फर्महरूबाट REST API ज्ञान चाहिन्छ सफ्टवेयर विकासकर्ताहरू र प्राविधिक अन्तर्वार्ताहरूमा यसको बारेमा सोध्नुहोस्।
यहाँ केहि सामान्य REST API अन्तर्वार्ता प्रश्नहरू छन् जसले तपाईंलाई विभिन्न फर्महरूमा अन्तर्वार्ताको लागि तयार हुन मद्दत गर्दछ यदि तपाईं REST API विकास क्षेत्रमा काम गर्न चाहनुहुन्छ भने।
1. तपाईंले REST द्वारा के बुझ्नुहुन्छ?
REST हाइपरटेक्स्ट ट्रान्सफर प्रोटोकल (HTTP) मा आधारित वेब-आधारित अनुप्रयोगहरू डिजाइन गर्नको लागि एक वास्तुकला प्रतिमान हो।
REST ले निश्चित मापदण्डहरू परिभाषित गर्दछ जुन वेब सेवाहरूलाई RESTful मान्न पूरा गर्नुपर्छ। यी सिफारिसहरूले ग्यारेन्टी दिन्छ कि अनुरोधहरू र स्रोतहरू छिटो र प्रभावकारी रूपमा ग्राहक र सर्भर बीच मानकीकृत HTTP प्रोटोकलहरू प्रयोग गरेर प्रसारित हुन्छन्।
2. REST API भन्नाले के बुझ्नुहुन्छ?
एप्लिकेसन प्रोग्रामिङ इन्टरफेस भनेर चिनिने सफ्टवेयर-टू-सफ्टवेयर लिङ्कले अन्यथा स्वतन्त्र प्रोग्रामहरू बीच सञ्चार र डेटा साझेदारी सक्षम गर्दछ। उदाहरण को लागी, एक समाचार वेबसाइटले Twitter API को प्रयोग गरी प्रासंगिक ट्वीटहरू स्वचालित रूपमा पत्ता लगाउन र तिनीहरूलाई समाचार कथाहरूमा एकीकृत गर्न सक्छ।
REST सिद्धान्तहरूको पालना गर्ने एपीआईलाई REST API भनिन्छ, कहिलेकाहीं RESTful API को रूपमा पनि चिनिन्छ। REST API मा, डेटाको प्रत्येक टुक्रालाई स्रोतको रूपमा ह्यान्डल गरिन्छ र एक फरक मानक स्रोत पहिचान (URI) दिइन्छ।
उदाहरणका लागि, Twitter API ले प्रत्येक ट्वीटलाई पुन: प्राप्त गर्न सकिने स्रोत बनाउँछ जुन ग्राहकहरूको लागि उपलब्ध छ। Twitter API लाई प्रयोगकर्ताहरूले ट्वीट पोस्ट गर्न र अन्य वेबसाइट कार्यहरू गर्न प्रयोग गर्न सक्छन्।
3. वास्तवमा URI भनेको के हो?
A कम्प्यूटर नेटवर्क स्रोतलाई URI वा समान स्रोत पहिचानकर्ता प्रयोग गरेर सन्दर्भ गर्न सकिन्छ। यसले एक स्रोतलाई अर्कोबाट अलग गर्ने माध्यमको रूपमा कार्य गर्दछ। स्रोतहरू अनलाइन हुन सक्छ वा नहुन सक्छ।
तिनीहरूको मानक संरचनाको कारण, URI ले विभिन्न प्रकारका स्रोतहरूसँग जडान गर्न सजिलो बनाउँछ। स्रोतको स्थान वा नाम वर्णहरूको स्ट्रिङसँग URI मा समावेश गरिएको छ।
URI मार्ग, योजना, क्वेरी र अन्य तत्वहरू मिलेर बनेको हुन्छ तर प्रोटोकल समावेश गर्दैन।
प्रोटोकल प्रयोग गरेर, URL हरू (युनिफर्म रिसोर्स लोकेटरहरू) इन्टरनेटमा स्रोतहरू फेला पार्न वा यसको माध्यमबाट पहुँच गर्न प्रयोग गरिन्छ।
4. RESTful वेब सेवाहरूको विशेषताहरू के हुन्?
- ग्राहक-सर्भर प्रतिमान सेवाको आधार हो।
- सेवाले URIs प्रयोग गरेर स्रोतहरू पहुँच गर्न सक्छ।
- सेवाले डाटा/स्रोतहरू प्राप्त गर्न, क्वेरीहरू चलाउन र अन्य कार्यहरू गर्न HTTP प्रोटोकल प्रयोग गर्दछ।
- सन्देश भनेको ग्राहक र सर्भर बीच सञ्चार गर्न प्रयोग गरिने विधिको नाम हो।
- यी सेवाहरूले SOAP सेवाहरू प्रयोग गरेर REST वास्तुकला ढाँचा पनि लागू गर्न सक्छन्।
- समान प्रकारको दोहोरिने अनुरोधहरूको लागि सर्भर कलहरू कम गर्न, यी सेवाहरूले क्यासिङको विचारलाई पनि प्रयोग गर्छन्।
5. REST को मार्गदर्शक सिद्धान्तहरू के हुन्?
REST APIs द्वारा पाँच मापदण्डहरू पूरा गर्नुपर्छ:
ग्राहक-सर्भर decoupling: अनुरोध र जवाफ को एक श्रृंखला मात्र ग्राहक र सर्भर बीच संचार गर्न प्रयोग गर्न सकिन्छ। केवल ग्राहकहरू र सर्भरहरू क्रमशः अनुरोध र जवाफहरू पठाउन सक्षम छन्। यो सीधा विचारले दुवै पक्षहरूलाई एकअर्काबाट स्वतन्त्र रूपमा काम गर्न सक्षम बनाउँछ।
समान इन्टरफेस: सबै क्लाइन्ट-सर्भर जडानहरूको लागि एक समान प्रोटोकल हुनुपर्छ। REST को लागि यो प्रोटोकल HTTP हो। प्रत्येक एप्लिकेसनले एउटै भाषा प्रयोग गरेर डाटा अनुरोध र पठाउने भएकोले, एक सुसंगत इन्टरफेसले एकीकरणलाई सरल बनाउँछ।
राज्यविहीन: सर्भरले राज्यविहीन सञ्चारमा अघिल्लो अनुरोध वा जवाफहरूको कुनै पनि रेकर्ड बचत गर्दैन। प्रत्येक अनुरोध र जवाफले विनिमय पूरा गर्न आवश्यक सबै विवरणहरू प्रदान गर्दछ। राज्यविहीन सञ्चारले गति बढाउँछ, मेमोरी बचत गर्छ, र सर्भरमा तनाव कम गर्छ। थप रूपमा, यसले अपूर्ण डाटाको कारणले अनुरोध असफल हुने सम्भावनालाई बेवास्ता गर्दछ।
स्तरित प्रणाली: क्लाइन्ट र एपीआई सर्भरको बीचमा रहने सर्भरहरूलाई तह भनिन्छ। यी अतिरिक्त सर्भरहरूले विभिन्न प्रकारका सेवाहरू प्रदर्शन गर्छन्, जस्तै स्प्याम पत्ता लगाउने र गति अनुकूलन गर्ने। REST मा तहहरू मोड्युलर हुन्, जसको मतलब तिनीहरू ग्राहक र API सर्भर बीचको सञ्चारलाई असर नगरी थप्न र मेटाउन सकिन्छ।
क्यास योग्य: क्लाइन्टहरूले गति बढाउन कुनै पनि स्रोतहरू क्यास गर्न सक्छन् यदि सर्भरको जवाफले स्रोत क्यास योग्य छ वा छैन भनेर संकेत गर्दछ।
अन-डिमांड कोडिङ: प्रतिक्रियामा, एपीआईले ग्राहकहरूलाई कार्यान्वयनयोग्य कम्प्युटर कोड पठाउन सक्छ। ग्राहक अनुप्रयोगले कोडलाई आफ्नै ब्याक एन्डमा चलाउन सक्छ।
६. REST ले समर्थन गर्ने HTTP विधिहरू उल्लेख गर्नुहोस्।
REST समर्थन गर्ने HTTP विधिहरू हुन्:
- GET: यो विधिले निर्दिष्ट URL मा स्रोतको लागि सोध्छ। अनुरोधको मुख्य भाग समावेश गर्नु हुँदैन किनभने यसलाई बेवास्ता गरिनेछ। यसलाई स्थानीय वा सर्भरमा क्यास गर्न सम्भव हुन सक्छ।
- POST: यो विधिले प्रक्रियाको लागि सेवामा डाटा पठाउँछ, र सेवाले सामान्यतया नयाँ वा परिवर्तन गरिएको स्रोत फिर्ता गर्नुपर्छ।
- PUT: संसाधन अनुरोध URL मा अद्यावधिक गरिएको छ।
- DELETE: अनुरोध URL मा संसाधन मेटाइएको छ।
- विकल्पहरू: यसले समर्थित विधिहरू पहिचान गर्दछ।
- HEAD: अनुरोध URL को मेटाडेटा फर्काइएको छ।
7. एक सुसंगत इन्टरफेस द्वारा राखिएको प्रतिबन्धहरू वर्णन गर्नुहोस्।
सर्भरबाट क्लाइन्ट अलग गर्नको लागि, एक सुसंगत इन्टरफेस आवश्यक छ।
एक सुसंगत इन्टरफेस प्राप्त गर्न, निम्न चार बाधाहरू आवश्यक छन्:
- संसाधन पहिचान: ग्राहक अनुरोधहरूले स्रोतहरू (URIs) पहिचान गर्न मानक स्रोत आईडीहरू प्रयोग गर्नुपर्छ।
- यी प्रतिनिधित्वहरू प्रयोग गरेर संसाधन हेरफेर: ग्राहकहरूसँग सर्भरबाट स्रोत प्रतिनिधित्व प्राप्त गर्दा स्रोत स्थिति परिवर्तन गर्न सक्षम हुन आवश्यक सबै जानकारी हुन्छ।
- आत्म-वर्णनात्मक सन्देशहरू: सन्देशहरूमा सबै मेटाडेटा र प्राप्तकर्ताले तिनीहरूलाई बुझ्नको लागि आवश्यक अन्य जानकारी समावेश गर्दछ।
- हाइपरमेडिया एप स्टेट इन्जिनको रूपमा: क्लाइन्ट-सर्भर संचारको लागि च्यानल हाइपरमेडिया हो, जस्तै HTML, र क्लाइन्टहरूलाई सर्भर जवाफहरू बुझ्न API-विशेष कागजातहरू आवश्यक पर्दैन।
8. वास्तवमा REST संसाधन भनेको के हो?
संसाधनहरू REST वास्तुकलामा RESTful वेब सेवाको आधारभूत अवयवहरू हुन्। तिनीहरू सबै महत्त्वपूर्ण जानकारी समावेश गर्दछ जुन API क्लाइन्ट पहुँच गर्न आवश्यक छ।
कुनै पनि प्रकारका स्रोतहरू, जस्तै HTML पृष्ठ, छवि, भिडियो, वा API गतिविधिको लागि आवश्यक अन्य चीजहरू, क्लाइन्ट-सर्भर प्रणालीमा सर्भर मार्फत पहुँच गर्न सकिन्छ।
स्रोतहरू एक समान स्रोत पहिचानकर्ताद्वारा पहिचान गरिन्छ। पाठ, JSON, वा XML सबै स्रोतहरूको स्वीकार्य प्रतिनिधित्व हुन्। प्रतिनिधित्वको ढाँचामा कुनै सीमितताहरू छैनन् भनी बताएको छ।
9. JAX-RS ले तपाईको लागि के अर्थ राख्छ?
जाभामा RESTful वेब सेवाहरू सिर्जना गर्न सजिलो छ RESTful वेब सेवाहरूको लागि Java API लाई धन्यवाद, प्राय: JAX-RS भनेर चिनिन्छ। विकासकर्ताहरूले स्रोतहरू र प्रदान गरिएका एनोटेसनहरू प्रयोग गरेर तिनीहरूमा सञ्चालन गर्न सकिने कार्यहरू वर्णन गर्न सक्छन्।
10. AJAX र REST लाई एकअर्काबाट के फरक पार्छ?
अजाक्स:
- Ajax प्रविधिहरूको एक समूह हो जसले गतिशील अद्यावधिकको लागि अनुमति दिन्छ प्रयोगकर्ता इन्फेसेसन पृष्ठ पुन: लोड नगरी तत्वहरू।
- Ajax ले ग्राहक र सर्भर बीचको एसिन्क्रोनस संचार हटाउँछ।
आराम:
- REST ले सर्भर र ग्राहक बीच सञ्चारको माग गर्दछ।
- REST द्वारा प्रयोग गरिएको URL संरचना र अनुरोध/प्रतिक्रिया ढाँचाको लागि स्रोतहरूको उपयोग महत्त्वपूर्ण छ।
11. के तपाइँ केहि रेस्टफुल वेब सेवाहरूको कमजोरीहरू सूचीबद्ध गर्न सक्नुहुन्छ?
सेवाहरू राज्यविहीनताको अवधारणालाई पालना गर्ने भएकाले सत्रहरू राख्न सकिँदैन। (सत्रको सिमुलेशन भरि सत्र आईडी पास गर्न ग्राहक जिम्मेवार छ।)
सुरक्षा बाधाहरू REST को लागि आधारभूत छैनन्। यसलाई प्रयोग गर्ने प्रोटोकलहरूले सुरक्षा सावधानीहरू प्राप्त गर्छन्। त्यसैले, SSL/TLS- आधारित प्रमाणीकरणहरू एकीकृत गर्ने जस्ता सुरक्षा उपायहरू राख्दा सावधानी अपनाउनु महत्त्वपूर्ण छ।
12. PUT र POST प्रविधिहरूलाई एकअर्काबाट के फरक पार्छ?
PUT:
- PUT प्रतिक्रियाहरूको लागि कुनै क्यास छैन।
- इडम्पोटेन्ट (अर्थात् धेरै अनुरोधहरूले समान परिणाम दिनेछन्)
- अनुरोधको पेलोड अपडेट वा लक्षित स्रोत प्रतिस्थापन गर्दछ।
पोष्ट गर्नुहोस्:
- असक्षम छैन (अर्थात्, धेरै अनुरोधहरूले एउटै स्रोतको गुणनहरू दिनेछन्)
- वेब सर्भरले इच्छित स्रोतको आधारमा अनुरोधको पेलोड प्रक्रिया गर्दछ।
- यदि उपयुक्त क्यास-नियन्त्रण हेडर समावेश गरिएको छ भने, POST जवाफहरू क्यास गर्न सकिन्छ।
13. तपाईं कसरी RESTful वेब सेवाहरू परीक्षण गर्नुहुन्छ?
RESTful वेब सेवा परीक्षण स्वेगर र पोस्टम्यान सहित धेरै उपकरणहरू द्वारा सहायता गर्न सकिन्छ। क्वेरी प्यारामिटरहरू, हेडरहरू, र प्रतिक्रिया हेडरहरू जस्ता अनुरोध प्यारामिटरहरू निरीक्षण गर्ने सुविधाहरूको पछिल्लो प्रशस्तताले सम्भव भएको छ।
पोस्टम्यानलाई अन्तिम बिन्दुहरूमा अनुरोध गर्न र परिणामहरू देखाउन प्रयोग गर्न सकिन्छ। र यी उत्तरहरूबाट XML र JSON सिर्जना गर्न सकिन्छ।
पोस्टम्यान र स्वागर दुबै अत्यन्त तुलनात्मक कार्यक्षमताहरू प्रदान गर्दछ। अर्कोतर्फ, Swagger ले पनि endpoint कागजात जस्ता क्षमताहरू प्रदान गर्दछ।
14. वास्तविक संसारमा REST API को वर्णन गर्नुहोस्।
- यात्रा र टिकट वेबसाइटहरूले उडान समय र मूल्य निर्धारण गर्न सक्छन् जुन एयरलाइन्सहरूले API मार्फत उपलब्ध गराउँछन्।
- म्यापिङ र नेभिगेसन एपहरू (जस्तै गुगल नक्सा) तिनीहरूलाई प्रयोग गर्नको लागि, सार्वजनिक यातायात एजेन्सीहरूले प्रायः तिनीहरूको डेटा वास्तविक समयमा API मार्फत सार्वजनिक रूपमा उपलब्ध गराउँछन्।
- मौसम अनुप्रयोगहरूले खुला एपीआईहरू प्रयोग गर्छन् जसले मौसम जानकारी प्रदर्शन गर्न मौसम डाटा आदानप्रदान गर्दछ।
- विकासकर्ताहरूले Google नक्साको म्यापिङ डेटालाई यसको होस्ट गरिएका API हरू मार्फत पहुँच गर्न सक्छन्। यी API हरू विकासकर्ताहरूले तिनीहरूको एप र वेबसाइटहरूमा गतिशील नक्सा इम्बेड गर्न प्रयोग गर्छन्।
15. माइक्रोसर्भिस आर्किटेक्चरले कसरी काम गर्छ?
- अनुरोधहरू विभिन्न उपकरणहरू प्रयोग गरेर विभिन्न ग्राहकहरू द्वारा पठाइन्छ।
- ग्राहकहरूको पहिचान पुष्टि गरेपछि, पहिचान प्रदायकहरूले सुरक्षा टोकनहरू प्रदान गर्छन्।
- ग्राहक अनुरोध API गेटवे द्वारा व्यवस्थित गरिन्छ।
- प्रणालीको सबै सामग्री स्थिर सामग्रीको रूपमा सुरक्षित गरिएको छ।
- व्यवस्थापन उपकरणले नोडहरू र कुनै पनि त्रुटिहरूमा सेवाहरूको सन्तुलन जाँच गर्दछ।
- माइक्रोसर्भिसेसहरू बीचको सञ्चारको मार्ग पत्ता लगाउने सेवा खोजद्वारा सहायता गरिन्छ।
- डाटा सेन्टरहरू र प्रोक्सी सर्भरहरूले फैलिएको नेटवर्क प्रणालीहरू बनाउँछन् जसलाई सामग्री डेलिभरी नेटवर्क भनिन्छ।
- रिमोट सेवाहरूले टाढाबाट जानकारी पहुँच प्रदान गर्दछ।
16. वास्तवमा क्यासिङ भनेको के हो?
सर्भर जवाफको प्रतिलिपि अस्थायी रूपमा कतै राख्ने अभ्यास (जस्तै कम्प्युटर मेमोरी) पछि यसलाई अझ छिटो पहुँच गर्नको लागि क्यासिङ भनिन्छ।
REST API प्रयोग गर्दा सर्भरले अनुरोध पूरा गर्नको लागि गर्नुपर्ने कामको मात्रा घटाएर क्यासिङले सर्भरको गति बढाउँछ। एपीआई प्रयोग गर्ने एप्लिकेसनहरू छिटो चल्छन् क्यासिङको लागि धन्यवाद किनभने उनीहरूलाई प्रत्येक पटक स्रोत चाहिने बेला नयाँ अनुरोध पेश गर्नुपर्दैन।
HTTP प्रतिक्रिया हेडरको क्यास-नियन्त्रण फिल्डमा क्लाइन्टद्वारा पुन: पहुँच गर्न आवश्यक पर्ने स्रोतले कति समयसम्म क्यास गर्न सकिन्छ भन्ने जानकारी समावेश गर्दछ।
17. पेलोड वर्णन गर्नुहोस्।
REST मा पेलोडले HTTP प्रतिक्रियाको मुख्य भागमा रहेको जानकारीलाई जनाउँछ। ग्राहकले प्रश्नमा डेटा अनुरोध गर्न GET प्रविधि प्रयोग गर्यो।
ट्वीटको पाठ र वेबसाइटमा ट्वीट राख्नको लागि आवश्यक फाइलहरू समावेश भएको कागजातलाई पेलोडमा समावेश गरिनेछ, उदाहरणका लागि, यदि तपाईंले ट्विटर एपीआईलाई एक विशिष्ट ट्वीटको लागि सोध्नुभयो भने। थप रूपमा, पेलोडलाई 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 विधिहरूले सर्भरमा समान प्रभाव पार्छ चाहे तिनीहरू एक पटक वा धेरै पटक डेलिभर गरियोस्। इडेम्पोटेन्ट प्रविधिहरू जसलाई भनिन्छ।
उदाहरणका लागि, GET विधि प्रयोग गरेर जति पटक URI चलाइएको भए पनि, सर्भरले सधैं समान परिणाम अनुभव गर्नेछ। Idempotent विधिहरूमा GET, PUT, र PATCH समावेश छन्, केही नामहरू।
Idempotent HTTP विधिहरू RESTful द्वारा प्रयोग गरिएका केही हुन् वेब अनुप्रयोगहरू। तिनीहरू RESTful वेब सेवाहरूको गतिविधिहरूमा स्थिरताको ग्यारेन्टी गर्न आवश्यक छन्।
REST API हरू प्रयोग गर्ने ग्राहकहरूले कोड त्रुटिहरू गर्न सक्छन् जसले REST API लाई गल्तिले दोहोर्याइएको अनुरोधहरू गर्न बाध्य पार्छ। यी कलहरूमा स्रोतहरूको दुरुपयोग गर्ने सम्भावना हुन्छ।
21. HTTP आधारभूत प्रमाणीकरण को कार्यक्षमता के हो?
API को भागको रूपमा आधारभूत प्रमाणीकरण प्रयोग गर्दा, प्रयोगकर्ताले प्रयोगकर्ता नाम र पासवर्ड पेश गर्नुपर्छ, जुन ब्राउजरद्वारा "प्रयोगकर्ता नाम: पासवर्ड" र बेस64 एन्कोड गरिएको फारममा जोडिएको हुन्छ।
ब्राउजरबाट प्रत्येक HTTP अनुरोधमा, एन्कोड गरिएको मान "प्राधिकरण" हेडरको लागि मानको रूपमा डेलिभर गरिन्छ। किनभने प्रमाणहरू भर्खरै इन्कोड गरिएका छन्, HTTPS अनुरोधहरू पठाउँदा यो फारम प्रयोग गर्न सिफारिस गरिन्छ किनभने तिनीहरू सुरक्षित छैनन् र यदि सुरक्षा प्रोटोकलहरू प्रयोग गरिएन भने जो कोहीले रोक्न सक्छ।
22. के तपाईलाई GraphQL माइक्रोसर्भिस आर्किटेक्चर बनाउनको लागि उत्तम विकल्प हो जस्तो लाग्छ?
Microservices र GraphQL राम्रोसँग जान्छन् किनभने GraphQL ले तपाईको माइक्रोसर्भिस आर्किटेक्चरलाई तपाईका ग्राहकहरुबाट गोप्य राख्छ।
अगाडिको छेउबाट, तपाइँ तपाइँको सबै डाटा एकल एपीआई बाट आउन चाहनुहुन्छ, जबकि पछाडिको छेउबाट, तपाइँ यसलाई माइक्रोसर्भिसेसहरूमा विभाजन गर्न चाहनुहुन्छ। सबै भन्दा राम्रो प्रविधि म दुबै हासिल गर्न को लागी सचेत छु GraphQL प्रयोग गरेर हो।
यसले तपाइँलाई तपाइँको ब्याकइन्डलाई माइक्रो सर्भिसेसहरूमा विभाजन गर्न सक्षम बनाउँछ जबकि अझै पनि प्रत्येक एप्लिकेसनलाई एउटै एपीआई दिँदै र विभिन्न सेवाहरूबाट डेटा भरी जोडिने सक्षम बनाउँछ।
23. सुरक्षित र असक्षम HTTP विधिहरू बीचको मुख्य भिन्नताहरू के हुन्?
एउटै अनुरोध मार्फत एक पटक वा धेरै पटक आह्वान गर्दा इडेम्पोटेन्ट विधिहरूले समान परिणाम दिन्छ। PUT विधि अदम्य छ।
सबै सुरक्षित तरिकाहरू दुर्बल छन्, तर सबै दुर्बल विधिहरू सुरक्षित छैनन् किनभने सुरक्षित विधिहरूले स्रोतहरू परिवर्तन गर्दैनन्। उदाहरण को लागी, GET सुरक्षित छ किनकि यसले केवल डाटा पुन: प्राप्त गर्दछ र संसाधन परिवर्तन गर्दैन।
थप रूपमा, यो इडम्पोटेन्ट हो, यसको मतलब यो आह्वान गर्दा सधैं उही जवाफ फर्काउनेछ।
24. JAX-RS API ले RESTful Root Resource Classes ले के बुझाउँछ?
जाभा इन्टरप्राइज संस्करणले JAX-RS API आवश्यकताहरू पालन गर्ने कक्षा र इन्टरफेसहरू प्रदान गर्दछ। JAX-RS को सहायताले, REST वास्तुकला शैलीमा Java वेब सेवाहरू सिर्जना गर्न सजिलो बनाइएको छ।
JAX-RS API मा, रूट स्रोत वर्गहरू केवल "सादा पुराना जाभा वस्तुहरू," वा POJO हुन्। आवश्यक वेब स्रोतहरू लागू गर्न, तिनीहरूले JAX-RS एनोटेसनहरू प्रयोग गर्छन्।
तिनीहरूसँग या त @path एनोटेसनहरू छन् वा तिनीहरूको कम्तिमा एउटा विधिमा @path एनोटेसनहरू छन्। तिनीहरूलाई एपीआई अन्त्य बिन्दुहरूसँग व्यवहार गर्ने विधिहरूसँग जाभा वर्गहरूको रूपमा संक्षेप गर्न सकिन्छ।
25. पोस्टम्यान भनेको के हो र यो किन प्रयोग गरिन्छ?
एपीआई विकास उपकरण पोस्टम्यान भनिन्छ API हरू सिर्जना गर्न, परीक्षण गर्न र परिमार्जन गर्न प्रयोग गरिन्छ। यो उपकरण विकासकर्ताहरूले API को लागि आवश्यक पर्ने कुनै पनि सुविधाको लागि प्रयोग गर्न सक्छन्। यसले विकासकर्ताहरूको कामलाई सरल र सहज बनाउँछ।
पोस्टम्यानले GET, POST, PUT, र PATCH सहित विभिन्न प्रकारका HTTP क्वेरीहरू बनाउन, पछि प्रयोगको लागि वातावरणहरू बचत गर्न, र API लाई विभिन्न भाषाहरूमा कोडमा रूपान्तरण गर्न सजिलो बनाउँछ।
एपीआई चक्रको प्रत्येक चरण पोस्टम्यानसँग सरल बनाइएको छ, र छिटो एपीआई विकासको लागि सहयोग सुव्यवस्थित गरिएको छ।
थप रूपमा, यसले विकासकर्ताहरूलाई कागजातहरू, विशिष्टताहरू, परीक्षण केसहरू, प्रक्रियाहरू, र एपीआई क्याटलगहरू प्रबन्ध गर्न सक्षम गर्दछ।
26. REST API लाई कसरी सुरक्षित राखिन्छ?
REST APIs ले SOAP API हरू जस्तै कठोर सुरक्षा उपायहरू प्रयोग गर्दैनन्, संवेदनशील डेटा तिनीहरूलाई प्रयोग गरेर पठाइनु वा पुन: प्राप्त गर्नु हुँदैन।
यद्यपि, विश्वसनीय REST API हरूले सुरक्षित र भरपर्दो डाटा प्रसारणको लागि सुरक्षा नियन्त्रणहरू एकीकृत गर्न जारी राख्छन्।
- प्रमाणीकरण र प्राधिकरण: API मा गरिएको प्रत्येक र प्रत्येक अनुरोधले यी दुई जाँचहरू पास गर्नुपर्छ। प्रमाणीकरण मार्फत ग्राहकको पहिचान प्रमाणित गर्ने र प्रमाणीकरण मार्फत अनुरोध गरिएका स्रोतहरूमा पहुँच गर्ने अधिकार उनीहरूसँग छ भनी प्रमाणित गर्ने दुई फरक प्रक्रियाहरू हुन्।
- प्रमाणीकरण: API ले यसको स्रोतहरूमा पहुँच प्रदान गर्नु अघि, प्रमाणीकरण र प्राधिकरण पछि सम्भावित हानिकारक कोडको लागि अनुरोधहरू अझै पनि जाँच गरिनुपर्छ। एक सर्भर यसैले इंजेक्शन आक्रमणको लागि खुला हुनेछ।
- प्रमाणीकरण: API ले यसको स्रोतहरूमा पहुँच प्रदान गर्नु अघि, प्रमाणीकरण र प्राधिकरण पछि सम्भावित हानिकारक कोडको लागि अनुरोधहरू अझै पनि जाँच गरिनुपर्छ। एक सर्भर यसैले इंजेक्शन आक्रमणको लागि खुला हुनेछ।
- इन्क्रिप्शन: TLS/SSL एन्क्रिप्शनले क्लाइन्ट र सर्भर बीचको जडानलाई सुरक्षित गर्दछ र ह्याकरहरूलाई अनुरोध र जवाफहरू अवरोध गर्नबाट रोक्छ।
- दर-सीमित गर्ने प्रविधिहरू, जस्तै सीमा र थ्रोटलिंग, सर्भरहरूलाई DDoS जस्ता क्रूर-बल आक्रमणहरूबाट जोगाउँछ जसले तिनीहरूलाई घटाउन वा क्र्यास गर्ने लक्ष्य राख्छ।
- URI मा कुनै संवेदनशील जानकारी छैन: संसाधनको URI मा कुनै पनि सुरक्षित डाटा (जस्तै प्रयोगकर्ता नाम, पासवर्ड, वा प्रमाणीकरण टोकन) समावेश हुनु हुँदैन।
निष्कर्ष
बधाई छ! धेरै आधारभूत देखि जटिल REST API अन्तर्वार्ता प्रश्नहरू र तिनीहरूका सम्बन्धित समाधानहरू अब तपाईंको औंलाको छेउमा छन्।
अब जब तपाइँसँग केहि विशिष्ट REST API अन्तर्वार्ता प्रश्नहरूको जवाफ कसरी दिने भन्ने राम्रो अवधारणा छ, तपाइँ अन्तर्वार्ताहरूमा प्रतिक्रिया दिन जान सक्नुहुन्छ। अर्को चरण तपाईंको उद्देश्यहरूमा निर्भर गर्दछ।
अनुरोध अन्तर्वार्ता श्रृंखला Hashdork संग अन्तर्वार्ताको लागि तयारी गर्न।
जवाफ छाड्नुस्