সুচিপত্র[লুকান][দেখান]
- 1. আপনি REST দ্বারা কি বোঝেন?
- 2. REST API বলতে কি বুঝ?
- 3. URI আসলে কি?
- 4. RESTful ওয়েব পরিষেবাগুলির বৈশিষ্ট্যগুলি কী কী?
- 5. REST এর গাইডিং নীতিগুলি কি কি?
- 6. HTTP পদ্ধতিগুলি উল্লেখ করুন যা REST সমর্থন করে৷
- 7. একটি সামঞ্জস্যপূর্ণ ইন্টারফেস দ্বারা স্থাপিত সীমাবদ্ধতা বর্ণনা করুন।
- 8. একটি REST সম্পদ ঠিক কি?
- 9. JAX-RS আপনার কাছে কী বোঝায়?
- 10. কি AJAX এবং REST একে অপরের থেকে আলাদা করে?
- 11. আপনি কিছু আরামদায়ক ওয়েব পরিষেবার ত্রুটির তালিকা করতে পারেন?
- 12. কি PUT এবং POST কৌশল একে অপরের থেকে আলাদা করে?
- 13. আপনি কিভাবে RESTful ওয়েব পরিষেবাগুলি পরীক্ষা করবেন?
- 14. বাস্তব জগতে একটি REST API বর্ণনা করুন।
- 15. মাইক্রোসার্ভিস আর্কিটেকচার কিভাবে কাজ করে?
- 16. ক্যাশিং আসলে কি?
- 17. পেলোড বর্ণনা কর।
- 18. SOAP বনাম REST এর মধ্যে পার্থক্য করুন?
- 19. ট্রান্সপোর্ট লেয়ার সিকিউরিটি প্রোটোকল (TLS) কি REST এর সাথে ব্যবহার করা যেতে পারে?
- 20. ইমপোটেন্ট পদ্ধতি: তারা কি? এটি কিভাবে RESTful ওয়েব পরিষেবার জগতে প্রযোজ্য?
- 21. HTTP বেসিক প্রমাণীকরণের কার্যকারিতা কী?
- 22. আপনি কি মনে করেন মাইক্রোসার্ভিস আর্কিটেকচার তৈরির জন্য গ্রাফকিউএল সেরা পছন্দ?
- 23. নিরাপদ এবং অদম্য এইচটিটিপি পদ্ধতিগুলির মধ্যে প্রধান পার্থক্যগুলি কী কী?
- 24. JAX-RS API RESTful রুট রিসোর্স ক্লাস দ্বারা কী বোঝায়?
- 25. পোস্টম্যান ঠিক কী এবং কেন এটি ব্যবহার করা হয়?
- 26. কিভাবে REST APIগুলি সুরক্ষিত রাখা হয়?
- উপসংহার
REST-এর বিবর্তন API-গুলিকে অবিশ্বাস্যভাবে অ্যাক্সেসযোগ্য করে তুলেছে এবং তাদের পূর্ণ শক্তি এবং সম্ভাবনাও প্রকাশ করে৷ রিসোর্স-ভিত্তিক আর্কিটেকচারের কারণে REST APIগুলি তৈরি করা এবং ক্যাশে করা সহজ।
উপরন্তু, সময় জুড়ে, RESTful APIগুলি ছিল ক্লাউড কম্পিউটিং এবং মাইক্রোসার্ভিস-ভিত্তিক ডিজাইনের মতো অন্যান্য উল্লেখযোগ্য উন্নয়নের অগ্রদূত।
অতএব, এতে অবাক হওয়ার কিছু নেই যে REST API ডেভেলপাররা যেভাবে RESTful পরিষেবাগুলিকে একটি প্রতিযোগিতামূলক প্রান্তে নিয়োগ করে এমন ব্যবসাগুলিকে কীভাবে সরবরাহ করে তা বিবেচনা করে আজকে চাহিদা রয়েছে৷ REST APIs একটি জনপ্রিয় ডিজাইন প্রবণতা।
অনেক আইটি সংস্থার কাছ থেকে 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) দেওয়া হয়।
উদাহরণস্বরূপ, টুইটার API প্রতিটি টুইটকে একটি পুনরুদ্ধারযোগ্য সংস্থান করে যা ক্লায়েন্টদের জন্য উপলব্ধ। টুইটার এপিআই ব্যবহারকারীরা টুইট পোস্ট করতে এবং ওয়েবসাইটের অন্যান্য কাজ সম্পাদন করতে ব্যবহার করতে পারেন।
3. URI আসলে কি?
A কম্পিউটার নেটওয়ার্ক রিসোর্স একটি URI বা ইউনিফর্ম রিসোর্স আইডেন্টিফায়ার ব্যবহার করে উল্লেখ করা যেতে পারে। এটি একটি সংস্থান থেকে অন্য সংস্থানকে আলাদা করার উপায় হিসাবে কাজ করে। সূত্র অনলাইন হতে পারে বা নাও হতে পারে.
তাদের স্ট্যান্ডার্ড কাঠামোর কারণে, ইউআরআইগুলি এমনকি বিভিন্ন ধরণের সংস্থানগুলির সাথে সংযোগ করা সহজ করে তোলে। অক্ষরগুলির একটি স্ট্রিং সহ ইউআরআই-তে সংস্থানের অবস্থান বা নাম অন্তর্ভুক্ত করা হয়েছে।
URI একটি পাথ, স্কিম, ক্যোয়ারী এবং অন্যান্য উপাদান নিয়ে গঠিত কিন্তু প্রোটোকল অন্তর্ভুক্ত করে না।
একটি প্রোটোকল ব্যবহার করে, ইউআরএল (ইউনিফর্ম রিসোর্স লোকেটার) ব্যবহার করা হয় ইন্টারনেটে রিসোর্স খুঁজে পেতে বা এর মাধ্যমে অ্যাক্সেসযোগ্য।
4. RESTful ওয়েব পরিষেবাগুলির বৈশিষ্ট্যগুলি কী কী?
- ক্লায়েন্ট-সার্ভার দৃষ্টান্ত হল পরিষেবার ভিত্তি।
- পরিষেবাটি ইউআরআই ব্যবহার করে সংস্থানগুলি অ্যাক্সেস করতে পারে।
- পরিষেবাটি HTTP প্রোটোকল ব্যবহার করে ডেটা/সম্পদ অর্জন করতে, অনুসন্ধান চালাতে এবং অন্যান্য কাজগুলি করতে।
- মেসেজিং হল ক্লায়েন্ট এবং সার্ভারের মধ্যে যোগাযোগের জন্য ব্যবহৃত পদ্ধতির নাম।
- এই পরিষেবাগুলি SOAP পরিষেবাগুলি ব্যবহার করে REST আর্কিটেকচারাল প্যাটার্নও বাস্তবায়ন করতে পারে।
- একই ধরণের পুনরাবৃত্তিমূলক অনুরোধের জন্য সার্ভার কল কমাতে, এই পরিষেবাগুলি ক্যাশিংয়ের ধারণাকেও নিয়োগ করে।
5. REST এর গাইডিং নীতিগুলি কি কি?
REST APIs দ্বারা পাঁচটি মানদণ্ড অবশ্যই পূরণ করতে হবে:
ক্লায়েন্ট-সার্ভার ডিকপলিং: ক্লায়েন্ট এবং সার্ভারের মধ্যে যোগাযোগ করতে শুধুমাত্র অনুরোধ এবং উত্তরগুলির একটি সিরিজ ব্যবহার করা যেতে পারে। শুধুমাত্র ক্লায়েন্ট এবং সার্ভার যথাক্রমে অনুরোধ এবং উত্তর পাঠাতে সক্ষম। এই সরল ধারণা উভয় পক্ষকে একে অপরের থেকে স্বাধীনভাবে কাজ করতে সক্ষম করে।
ইউনিফর্ম ইন্টারফেস: সমস্ত ক্লায়েন্ট-সার্ভার সংযোগের জন্য একটি অভিন্ন প্রোটোকল থাকতে হবে। REST-এর এই প্রোটোকল হল HTTP। যেহেতু প্রতিটি অ্যাপ্লিকেশন অনুরোধ করে এবং একই ভাষা ব্যবহার করে ডেটা পাঠায়, একটি সামঞ্জস্যপূর্ণ ইন্টারফেস ইন্টিগ্রেশনকে সহজ করে তোলে।
রাষ্ট্রহীন: সার্ভার রাষ্ট্রহীন যোগাযোগে পূর্ববর্তী অনুরোধ বা উত্তরের কোনো রেকর্ড সংরক্ষণ করে না। প্রতিটি অনুরোধ এবং উত্তর বিনিময় সম্পূর্ণ করার জন্য প্রয়োজনীয় সমস্ত বিবরণ প্রদান করে। রাষ্ট্রহীন যোগাযোগ গতি বাড়ায়, মেমরি সংরক্ষণ করে এবং সার্ভারে চাপ কমায়। অতিরিক্তভাবে, এটি অসম্পূর্ণ ডেটার কারণে একটি অনুরোধ ব্যর্থ হওয়ার সম্ভাবনা এড়ায়।
স্তরযুক্ত সিস্টেম: ক্লায়েন্ট এবং API সার্ভারের মধ্যে থাকা সার্ভারগুলিকে স্তর হিসাবে উল্লেখ করা হয়। এই অতিরিক্ত সার্ভারগুলি বিভিন্ন পরিষেবা সম্পাদন করে, যেমন স্প্যাম সনাক্তকরণ এবং গতি অপ্টিমাইজ করা। REST-এ স্তরগুলি মডুলার, যার অর্থ ক্লায়েন্ট এবং API সার্ভারের মধ্যে যোগাযোগকে প্রভাবিত না করেই এগুলি যুক্ত এবং মুছে ফেলা যেতে পারে।
ক্যাশেযোগ্য: ক্লায়েন্টরা গতি বাড়ানোর জন্য যে কোনও সংস্থান ক্যাশে করতে পারে যদি সার্ভারের উত্তরগুলি নির্দেশ করে যে সংস্থান ক্যাশেযোগ্য কিনা।
অন-ডিমান্ড কোডিং: প্রতিক্রিয়া হিসাবে, একটি API গ্রাহকদের কাছে এক্সিকিউটেবল কম্পিউটার কোড প্রেরণ করতে পারে। ক্লায়েন্ট অ্যাপ্লিকেশন তারপর কোডটি তার নিজের পিছনের দিকে চালাতে পারে।
6. HTTP পদ্ধতিগুলি উল্লেখ করুন যা REST সমর্থন করে৷
যে HTTP পদ্ধতিগুলি REST সমর্থন করে তা হল:
- GET: এই পদ্ধতিটি নির্দিষ্ট URL-এ একটি সম্পদের জন্য জিজ্ঞাসা করে। একটি অনুরোধের অংশ অন্তর্ভুক্ত করা উচিত নয় কারণ এটি উপেক্ষা করা হবে৷ এটি স্থানীয়ভাবে বা সার্ভারে ক্যাশে করা সম্ভব হতে পারে।
- পোস্ট: এই পদ্ধতিটি প্রক্রিয়াকরণের জন্য একটি পরিষেবাতে ডেটা পাঠায় এবং পরিষেবাটি সাধারণত একটি নতুন বা পরিবর্তিত সংস্থান ফেরত দেয়।
- PUT: রিসোর্সটি রিকোয়েস্ট URL এ আপডেট করা হয়েছে।
- মুছে ফেলুন: রিসোর্সটি অনুরোধের URL এ মুছে ফেলা হয়েছে।
- বিকল্প: এটি সমর্থিত পদ্ধতি চিহ্নিত করে।
- HEAD: অনুরোধের URL এর মেটাডেটা ফেরত দেওয়া হয়েছে।
7. একটি সামঞ্জস্যপূর্ণ ইন্টারফেস দ্বারা স্থাপিত সীমাবদ্ধতা বর্ণনা করুন।
সার্ভার থেকে ক্লায়েন্টকে আলাদা করার জন্য, একটি সামঞ্জস্যপূর্ণ ইন্টারফেস প্রয়োজন।
একটি সামঞ্জস্যপূর্ণ ইন্টারফেস অর্জন করতে, নিম্নলিখিত চারটি সীমাবদ্ধতা প্রয়োজন:
- রিসোর্স শনাক্তকরণ: ক্লায়েন্টের অনুরোধে অবশ্যই রিসোর্স সনাক্ত করতে স্ট্যান্ডার্ড রিসোর্স আইডি ব্যবহার করতে হবে (URI)
- এই উপস্থাপনাগুলি ব্যবহার করে রিসোর্স ম্যানিপুলেশন: ক্লায়েন্টদের কাছে সার্ভার থেকে রিসোর্স রিপ্রেজেন্টেশন পেলে রিসোর্স স্টেট পরিবর্তন করতে সক্ষম হওয়ার জন্য প্রয়োজনীয় সমস্ত তথ্য থাকে।
- স্ব-বর্ণনামূলক বার্তা: বার্তাগুলিতে সমস্ত মেটাডেটা এবং রিসিভারকে বোঝার জন্য প্রয়োজনীয় অন্যান্য তথ্য অন্তর্ভুক্ত থাকে।
- অ্যাপ্লিকেশন স্টেট ইঞ্জিন হিসাবে হাইপারমিডিয়া: ক্লায়েন্ট-সার্ভার যোগাযোগের চ্যানেল হল হাইপারমিডিয়া, যেমন এইচটিএমএল, এবং সার্ভারের উত্তরগুলি বোঝার জন্য ক্লায়েন্টদের 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 প্রতিক্রিয়াগুলির জন্য কোনও ক্যাশে নেই৷
- অদম্য (অর্থাৎ একাধিক অনুরোধ একই ফলাফল দেবে)
- অনুরোধের পেলোড আপডেট বা লক্ষ্য সম্পদ প্রতিস্থাপন.
পোস্ট:
- অদম্য নয় (অর্থাৎ, একাধিক অনুরোধ একই সম্পদের গুণিতক প্রদান করবে)
- ওয়েব সার্ভার উদ্দিষ্ট সম্পদের উপর ভিত্তি করে অনুরোধের পেলোড প্রক্রিয়া করে।
- উপযুক্ত ক্যাশে-নিয়ন্ত্রণ শিরোনাম অন্তর্ভুক্ত করা হলে, POST উত্তরগুলি ক্যাশে করা যেতে পারে।
13. আপনি কিভাবে RESTful ওয়েব পরিষেবাগুলি পরীক্ষা করবেন?
RESTful ওয়েব পরিষেবা পরীক্ষাকে সোয়াগার এবং পোস্টম্যান সহ বেশ কয়েকটি সরঞ্জাম দ্বারা সহায়তা করা যেতে পারে। ক্যোয়ারী প্যারামিটার, হেডার, এবং রেসপন্স হেডারের মত রিকোয়েস্ট প্যারামিটার পরিদর্শন করা পরবর্তীটির বৈশিষ্ট্যের প্রাচুর্য দ্বারা সম্ভব হয়েছে।
পোস্টম্যানকে শেষ পয়েন্টে অনুরোধ করতে এবং ফলাফল দেখানোর জন্য ব্যবহার করা যেতে পারে। এবং এই উত্তরগুলি থেকে XML এবং JSON তৈরি করা যেতে পারে।
পোস্টম্যান এবং সোয়াগার উভয়ই অত্যন্ত তুলনামূলক কার্যকারিতা প্রদান করে। অন্যদিকে, Swagger এন্ডপয়েন্ট ডকুমেন্টেশনের মতো ক্ষমতাও অফার করে।
14. বাস্তব জগতে একটি REST API বর্ণনা করুন।
- ভ্রমণ এবং টিকিটিং ওয়েবসাইটগুলি এয়ারলাইনগুলি API-এর মাধ্যমে উপলব্ধ করা ফ্লাইটের সময় এবং মূল্যের সুবিধা নিতে পারে।
- ম্যাপিং এবং নেভিগেশন অ্যাপগুলি (যেমন Google ম্যাপস) ব্যবহার করার জন্য, পাবলিক ট্রান্সপোর্ট এজেন্সিগুলি প্রায়ই API-এর মাধ্যমে রিয়েল-টাইমে তাদের ডেটা সর্বজনীনভাবে উপলব্ধ করে।
- আবহাওয়া অ্যাপ্লিকেশনগুলি খোলা API ব্যবহার করে যা আবহাওয়ার তথ্য প্রদর্শন করতে আবহাওয়ার ডেটা বিনিময় করে।
- ডেভেলপাররা গুগল ম্যাপের ম্যাপিং ডেটা অ্যাক্সেস করতে পারে তার হোস্ট করা এপিআই-এর মাধ্যমে। এই APIগুলি বিকাশকারীরা তাদের অ্যাপ এবং ওয়েবসাইটগুলিতে গতিশীল মানচিত্র এম্বেড করতে ব্যবহার করে।
15. মাইক্রোসার্ভিস আর্কিটেকচার কিভাবে কাজ করে?
- বিভিন্ন ডিভাইস ব্যবহার করে বিভিন্ন গ্রাহকদের দ্বারা অনুরোধ পাঠানো হয়।
- ক্লায়েন্টদের পরিচয় নিশ্চিত করার পর, পরিচয় প্রদানকারীরা নিরাপত্তা টোকেন প্রদান করে।
- ক্লায়েন্ট অনুরোধ API গেটওয়ে দ্বারা পরিচালিত হয়.
- সিস্টেমের সমস্ত উপাদান স্ট্যাটিক কন্টেন্ট হিসাবে সংরক্ষিত হয়।
- ম্যানেজমেন্ট টুল নোড এবং কোনো ত্রুটির পরিষেবার ভারসাম্য পরীক্ষা করে।
- মাইক্রোসার্ভিসগুলির মধ্যে যোগাযোগের পথ আবিষ্কার করা পরিষেবা আবিষ্কারের দ্বারা সহায়তা করে।
- ডেটা সেন্টার এবং প্রক্সি সার্ভারগুলি বিচ্ছুরিত নেটওয়ার্ক সিস্টেম তৈরি করে যাকে কন্টেন্ট ডেলিভারি নেটওয়ার্ক বলা হয়।
- দূরবর্তী পরিষেবাগুলি দূর থেকে তথ্য অ্যাক্সেস প্রদান করে।
16. ক্যাশিং আসলে কি?
পরবর্তীতে আরও দ্রুত অ্যাক্সেস করার জন্য সার্ভারের উত্তরের একটি অনুলিপি অস্থায়ীভাবে কোথাও (যেমন কম্পিউটার মেমরি) রাখার অভ্যাসটি ক্যাশিং নামে পরিচিত।
অনুরোধ সন্তুষ্ট করার জন্য সার্ভারকে যে পরিমাণ কাজ করতে হবে তা হ্রাস করে REST API ব্যবহার করার সময় ক্যাশিং সার্ভারের গতি বাড়ায়। যে অ্যাপ্লিকেশনগুলি এপিআই ব্যবহার করে সেগুলি দ্রুত চলে ক্যাশিংয়ের জন্য ধন্যবাদ কারণ তাদের প্রতিবার একটি সংস্থানের প্রয়োজন হলে তাদের একটি নতুন অনুরোধ জমা দিতে হবে না।
HTTP রেসপন্স হেডারের ক্যাশে-কন্ট্রোল ফিল্ডে একটি রিসোর্সকে আবার অ্যাক্সেস করার আগে ক্লায়েন্ট কতক্ষণ ক্যাশে করতে পারে সে সম্পর্কে তথ্য রয়েছে।
17. পেলোড বর্ণনা কর।
REST-এ পেলোড HTTP প্রতিক্রিয়ার মূল অংশে থাকা তথ্যকে বোঝায়। গ্রাহক প্রশ্নযুক্ত ডেটা অনুরোধ করতে GET কৌশল ব্যবহার করেছেন।
একটি ওয়েবসাইটে টুইট রাখার জন্য টুইট টেক্সট এবং প্রয়োজনীয় ফাইল সমন্বিত ডকুমেন্ট পেলোডে অন্তর্ভুক্ত করা হবে, উদাহরণস্বরূপ, আপনি যদি টুইটার API-কে একটি নির্দিষ্ট টুইটের জন্য জিজ্ঞাসা করেন। অতিরিক্তভাবে, পেলোডটি POST পদ্ধতি ব্যবহার করে HTTP অনুরোধে অন্তর্ভুক্ত করা যেতে পারে।
18. পার্থক্য করুন সাবান বনাম বিশ্রাম?
- SOAP-এর বিপরীতে, যা শুধুমাত্র XML পরিচালনা করতে পারে, REST XML, টেক্সট, HTML, ছবি, ভিডিও এবং আরও অনেক কিছু সহ রিসোর্স ফরম্যাটের বিস্তৃত পরিসর সক্ষম করে।
- যখন নিরাপত্তা অনলাইন অ্যাপ্লিকেশনের জন্য অত্যন্ত গুরুত্বপূর্ণ, তখন SOAP সহায়ক। REST ব্যবহার করা যাবে না যখন লেনদেনগুলি নিরাপদে সম্পন্ন করতে হবে কারণ এটি বিশেষভাবে নিরাপদ নয়।
- যেহেতু SOAP শুধুমাত্র একটি প্রোটোকল, তাই REST এটি তার ওয়েব পরিষেবাগুলিতে ব্যবহার করতে পারে কিন্তু অন্য উপায়ে নয়।
- যদিও REST শুধুমাত্র একটি আর্কিটেকচারাল প্যাটার্ন যা ওয়েব পরিষেবাগুলি বিকাশের জন্য ব্যবহৃত হয় এবং ক্লায়েন্ট-সার্ভার সেটআপ, রাষ্ট্রহীনতা, ক্যাশেযোগ্য প্রতিক্রিয়া, স্তরযুক্ত সিস্টেম এবং সামঞ্জস্যপূর্ণ ইন্টারফেসের মতো নির্দিষ্ট সীমাবদ্ধতাগুলি মেনে চলে, SOAP হল একটি প্রোটোকল যা নির্দিষ্ট মানগুলির উপর কাজ করে যা অবশ্যই কঠোরভাবে মেনে চলতে হবে। প্রতি.
- যখন REST সার্বজনীন সম্পদ সনাক্তকারী (URIs) ব্যবহার করে, SOAP ক্লায়েন্ট অ্যাপ্লিকেশনগুলিতে তার ক্ষমতা প্রদান করতে পরিষেবা ইন্টারফেস ব্যবহার করে। SOAP এর চেয়ে REST-এর ব্যান্ডউইথের প্রয়োজন কম কারণ SOAP বার্তাগুলি আরও তথ্য-ভারী।
19. ট্রান্সপোর্ট লেয়ার সিকিউরিটি প্রোটোকল (TLS) কি REST এর সাথে ব্যবহার করা যেতে পারে?
আসলে, আমরা পারি। REST ক্লায়েন্ট এবং সার্ভারের যোগাযোগ টিএলএস-এর মাধ্যমে এনক্রিপ্ট করা হয় এবং প্রোটোকল ক্লায়েন্টদের সার্ভার প্রমাণীকরণের একটি উপায়ও দেয়।
এটি সিকিউর সকেট লেয়ারের প্রতিস্থাপনের কারণে, এটি নিরাপদ যোগাযোগের (SSL) জন্য ব্যবহার করা হয়। RESTful ওয়েব পরিষেবাগুলি বাস্তবায়ন করা HTTPS এর সাথে সফল কারণ এটি TLS এবং SSL উভয়ের সাথে কার্যকরভাবে সহযোগিতা করে৷
REST এটি যে প্রোটোকলটি প্রয়োগ করে তার বৈশিষ্ট্যগুলি উত্তরাধিকার সূত্রে পায়, যা এখানে উল্লেখ্য একটি বিষয়। ফলস্বরূপ, নিরাপত্তা সুরক্ষাগুলি REST ব্যবহার করা প্রোটোকলের উপর নির্ভরশীল।
20. ইমপোটেন্ট পদ্ধতি: তারা কি? এটি কিভাবে RESTful ওয়েব পরিষেবার জগতে প্রযোজ্য?
যখন ইউআরআই একই হয়, তখন অনুরোধে কিছু HTTP পদ্ধতি সার্ভারে একই প্রভাব ফেলে তা সেগুলি একবার বা একাধিকবার বিতরণ করা হয়। ইডেমপোটেন্ট কৌশলগুলি এই হিসাবে পরিচিত।
উদাহরণস্বরূপ, GET পদ্ধতি ব্যবহার করে কতবার একটি URI চালানো হোক না কেন, সার্ভার সর্বদা একই ফলাফল অনুভব করবে। ইমপোটেন্ট পদ্ধতির মধ্যে রয়েছে GET, PUT, এবং PATCH, কয়েকটি নাম।
ইডেমপোটেন্ট HTTP পদ্ধতি হল RESTful দ্বারা ব্যবহৃত কিছু ওয়েব অ্যাপ্লিকেশন. RESTful ওয়েব পরিষেবাগুলির কার্যকলাপে ধারাবাহিকতার গ্যারান্টি দেওয়ার জন্য এগুলি প্রয়োজনীয়৷
যে গ্রাহকরা REST API ব্যবহার করেন তারা কোড ত্রুটি তৈরি করতে পারে যা একটি REST APIকে দুর্ঘটনাক্রমে বারবার অনুরোধ করতে বাধ্য করে। এই কলগুলিতে সম্পদের অপব্যবহারের সম্ভাবনা রয়েছে।
21. HTTP বেসিক প্রমাণীকরণের কার্যকারিতা কী?
API-এর অংশ হিসাবে বেসিক প্রমাণীকরণ ব্যবহার করার সময়, ব্যবহারকারীকে অবশ্যই ব্যবহারকারীর নাম এবং পাসওয়ার্ড জমা দিতে হবে, যা ব্রাউজার দ্বারা "ব্যবহারকারীর নাম: পাসওয়ার্ড" এবং বেস64 এনকোড আকারে সংযুক্ত করা হয়েছে।
ব্রাউজার থেকে প্রতিটি HTTP অনুরোধে, এনকোড করা মান "অনুমোদন" শিরোনামের মান হিসাবে বিতরণ করা হয়। যেহেতু শংসাপত্রগুলি কেবলমাত্র এনকোড করা হয়েছে, তাই HTTPS অনুরোধগুলি পাঠানোর সময় এই ফর্মটি ব্যবহার করার পরামর্শ দেওয়া হয় কারণ সেগুলি সুরক্ষিত নয় এবং নিরাপত্তা প্রোটোকলগুলি ব্যবহার না করা হলে যে কেউ বাধা দিতে পারে৷
22. আপনি কি মনে করেন মাইক্রোসার্ভিস আর্কিটেকচার তৈরির জন্য গ্রাফকিউএল সেরা পছন্দ?
মাইক্রোসার্ভিস এবং গ্রাফকিউএল নিখুঁতভাবে চলে কারণ গ্রাফকিউএল আপনার মাইক্রোসার্ভিস আর্কিটেকচারকে আপনার ক্লায়েন্টদের কাছ থেকে গোপন রাখে।
সামনের প্রান্ত থেকে, আপনি আপনার সমস্ত ডেটা একটি একক API থেকে আসতে চান, যখন পিছনের প্রান্ত থেকে, আপনি এটিকে মাইক্রোসার্ভিসে ভাগ করতে চান। উভয় অর্জনের জন্য আমি যে সেরা কৌশলটি সম্পর্কে সচেতন তা হল GraphQL ব্যবহার করে।
এটি আপনাকে আপনার ব্যাকএন্ডকে মাইক্রোসার্ভিসে ভাগ করতে সক্ষম করে যখন এখনও প্রতিটি অ্যাপ্লিকেশনকে একটি একক API প্রদান করে এবং বিভিন্ন পরিষেবা থেকে ডেটা জুড়ে যোগদান সক্ষম করে।
23. নিরাপদ এবং অদম্য এইচটিটিপি পদ্ধতিগুলির মধ্যে প্রধান পার্থক্যগুলি কী কী?
একই অনুরোধের মাধ্যমে একবার বা একাধিকবার আহ্বান করা হলে অদম্য পদ্ধতি একই ফলাফল দেয়। PUT পদ্ধতিটি অদম্য।
সমস্ত নিরাপদ উপায় অদম্য, কিন্তু সমস্ত অদম্য উপায় নিরাপদ নয় কারণ নিরাপদ পদ্ধতি সম্পদগুলিকে পরিবর্তন করে না। উদাহরণস্বরূপ, GET নিরাপদ কারণ এটি কেবল ডেটা পুনরুদ্ধার করে এবং সংস্থান পরিবর্তন করে না।
অতিরিক্তভাবে, এটি অদম্য, যার অর্থ হল যখন আহ্বান করা হবে তখন এটি সর্বদা একই উত্তর দেবে।
24. JAX-RS API RESTful রুট রিসোর্স ক্লাস দ্বারা কী বোঝায়?
জাভা এন্টারপ্রাইজ সংস্করণ ক্লাস এবং ইন্টারফেস প্রদান করে যা JAX-RS API প্রয়োজনীয়তা মেনে চলে। JAX-RS-এর সাহায্যে, REST স্থাপত্য শৈলীতে জাভা ওয়েব পরিষেবা তৈরি করা আরও সহজ করা হয়েছে।
JAX-RS API-এ, রুট রিসোর্স ক্লাসগুলি শুধুমাত্র "সাধারণ পুরানো জাভা অবজেক্ট" বা POJO। প্রয়োজনীয় ওয়েব সম্পদ বাস্তবায়নের জন্য, তারা JAX-RS টীকা নিয়োগ করে।
তাদের হয় @path টীকা আছে বা তাদের অন্তত একটি পদ্ধতিতে @path টীকা আছে। এগুলিকে জাভা ক্লাস হিসাবে এপিআই এন্ডপয়েন্টের সাথে ডিল করার পদ্ধতি সহ সংক্ষিপ্ত করা যেতে পারে।
25. পোস্টম্যান ঠিক কী এবং কেন এটি ব্যবহার করা হয়?
পোস্টম্যান নামে একটি API ডেভেলপমেন্ট টুল API তৈরি, পরীক্ষা এবং সংশোধন করতে ব্যবহৃত হয়। এই টুলটি ডেভেলপারদের দ্বারা একটি API-এর জন্য প্রয়োজনীয় বৈশিষ্ট্যের জন্য ব্যবহার করা যেতে পারে। এটি বিকাশকারীদের কাজকে সহজ করে এবং সহজতর করে।
পোস্টম্যান GET, POST, PUT, এবং PATCH সহ বিভিন্ন ধরনের HTTP প্রশ্ন তৈরি করা, পরবর্তীতে ব্যবহারের জন্য পরিবেশ সংরক্ষণ করা এবং API-কে বিভিন্ন ভাষায় কোডে রূপান্তর করা সহজ করে তোলে।
API চক্রের প্রতিটি পর্যায় পোস্টম্যানের সাথে সহজতর করা হয়েছে, এবং দ্রুত API বিকাশের জন্য সহযোগিতাকে সুগম করা হয়েছে।
উপরন্তু, এটি ডেভেলপারদের ডকুমেন্টেশন, স্পেসিফিকেশন, টেস্ট কেস, প্রসেস এবং API ক্যাটালগ পরিচালনা করতে সক্ষম করে।
26. কিভাবে REST APIগুলি সুরক্ষিত রাখা হয়?
যেহেতু REST API গুলি SOAP API-এর মতো কঠোর নিরাপত্তা ব্যবস্থা ব্যবহার করে না, তাই সেগুলি ব্যবহার করে সংবেদনশীল ডেটা পাঠানো বা পুনরুদ্ধার করা উচিত নয়।
যাইহোক, বিশ্বস্ত REST APIগুলি নিরাপদ এবং নির্ভরযোগ্য ডেটা ট্রান্সমিশনের জন্য সুরক্ষা নিয়ন্ত্রণগুলিকে সংহত করে চলেছে৷
- প্রমাণীকরণ এবং অনুমোদন: API এ করা প্রতিটি অনুরোধ এই দুটি চেক পাস করতে হবে। প্রমাণীকরণের মাধ্যমে ক্লায়েন্টের পরিচয় যাচাই করা এবং অনুমোদনের মাধ্যমে অনুরোধ করা সংস্থানগুলি অ্যাক্সেস করার ক্ষমতা তাদের আছে তা যাচাই করা দুটি ভিন্ন প্রক্রিয়া।
- বৈধকরণ: API এর সংস্থানগুলিতে অ্যাক্সেস দেওয়ার আগে, প্রমাণীকরণ এবং অনুমোদনের পরেও সম্ভবত ক্ষতিকারক কোডের জন্য অনুরোধগুলি অবশ্যই পরীক্ষা করা উচিত। একটি সার্ভার এইভাবে একটি ইনজেকশন আক্রমণের জন্য উন্মুক্ত হবে।
- বৈধকরণ: API এর সংস্থানগুলিতে অ্যাক্সেস দেওয়ার আগে, প্রমাণীকরণ এবং অনুমোদনের পরেও সম্ভবত ক্ষতিকারক কোডের জন্য অনুরোধগুলি অবশ্যই পরীক্ষা করা উচিত। একটি সার্ভার এইভাবে একটি ইনজেকশন আক্রমণের জন্য উন্মুক্ত হবে।
- এনক্রিপশন: TLS/SSL এনক্রিপশন ক্লায়েন্ট এবং সার্ভারের মধ্যে সংযোগ রক্ষা করে এবং হ্যাকারদের অনুরোধ এবং উত্তরগুলিকে বাধা দেওয়া থেকে বিরত রাখে।
- হার-সীমিত করার কৌশল, যেমন সীমা এবং থ্রোটলিং, সার্ভারগুলিকে DDoS-এর মতো পাশবিক আক্রমণ থেকে রক্ষা করে যা তাদের অবনমিত বা বিপর্যস্ত করার লক্ষ্য রাখে।
- URI-তে কোনো সংবেদনশীল তথ্য নেই: সম্পদের URI-তে কোনো সুরক্ষিত ডেটা থাকা উচিত নয় (যেমন ব্যবহারকারীর নাম, পাসওয়ার্ড বা প্রমাণীকরণ টোকেন)।
উপসংহার
অভিনন্দন! বেশ কিছু মৌলিক থেকে জটিল REST API ইন্টারভিউ প্রশ্ন এবং তাদের নিজ নিজ সমাধান এখন আপনার নখদর্পণে।
এখন যেহেতু কিছু সাধারণ REST API সাক্ষাত্কারের প্রশ্নের উত্তর দিতে আপনার একটি ভাল ধারণা আছে, আপনি সাক্ষাত্কারের উত্তর দিতে যেতে পারেন। পরবর্তী পদক্ষেপ আপনার উদ্দেশ্য উপর নির্ভর করে.
দেখুন ইন্টারভিউ সিরিজ সাক্ষাত্কারের জন্য প্রস্তুত করার জন্য হ্যাশডর্কের সাথে।
নির্দেশিকা সমন্ধে মতামত দিন