ক্র্যাশ কোর্স 101
10 মডিউল
5 সপ্তাহ

REST API তত্ত্ব

অনুলিপি করতে ক্লিক করুন

REST API এবং এর নীতি সম্পর্কে সাধারণ তথ্য


প্রথম মডিউলটি আপনার একটি HTTP অনুরোধ তৈরি করে, এটি পাঠানো এবং একটি প্রতিক্রিয়া পাওয়ার সাথে শেষ হয়৷

আমরা ভবিষ্যতে আরও অনেকবার এটি করব। আমরা তৃতীয় পক্ষের সার্ভারে অনুরোধ পাঠাব। আমরা এমন আবেদন করব যেগুলি নিজেরাই এই ধরনের অনুরোধগুলি গ্রহণ করে এবং একটি প্রতিক্রিয়া ফেরত দেয়। আমরা অনুরোধ প্রক্রিয়াকরণের জন্য জটিল যুক্তি তৈরি করব।

অতএব, এই অনুরোধগুলির সাথে সম্পর্কিত সমস্ত কিছু পুঙ্খানুপুঙ্খভাবে অধ্যয়ন করা, বিস্তারিতভাবে বিশ্লেষণ করা ভাল হবে। যাতে আপনি অনুরোধটি কোথাও অনুলিপি করতে এবং এটি পুনরাবৃত্তি করতে পারেন না, তবে এটি কীভাবে কাজ করে তা সত্যিই খুঁজে বের করতে পারেন।

আমরা দ্বিতীয় মডিউলে এটিই করব। চলো যাই!

সাধারণ তত্ত্ব

তত্ত্ব দিয়ে শুরু করা যাক।

আপনি যদি প্রথম মডিউলে আপনার হোমওয়ার্ক করেন এবং ডকুমেন্টেশন অধ্যয়ন করেন, তাহলে আপনার সংক্ষিপ্ত রূপ API লক্ষ্য করা উচিত ছিল। প্রকৃতপক্ষে, এটি হল API ডকুমেন্টেশন যা ডেভেলপারদের প্রথমে অধ্যয়ন করা উচিত যদি তারা নেটওয়ার্কে কিছু পরিষেবা বা অ্যাপ্লিকেশনের সাথে মিথস্ক্রিয়া বুঝতে চায়।

API

API - অ্যাপ্লিকেশন প্রোগ্রামিং ইন্টারফেস । এটি ক্লায়েন্ট এবং সার্ভার একে অপরের সাথে যোগাযোগ করতে পারে এমন উপায়গুলির একটি বিবরণ। আমরা API ডকুমেন্টেশন খুলি এবং সেখান থেকে শিখি কিভাবে সার্ভার থেকে প্রয়োজনীয় ডেটা পেতে হয়।

আমরা সবসময় এই মিথস্ক্রিয়া সহজ এবং বোধগম্য হতে চাই. এটি উভয় ডেভেলপার (নতুন পরিষেবা ডিজাইন করার সময় চাকাটি পুনরায় উদ্ভাবনের প্রয়োজন নেই) এবং ব্যবহারকারীদের (কোনও পরিষেবাটি পূর্বে পরিচিত পরিষেবাগুলির মতো একই নীতিতে কাজ করলে এটি শিখতে অনেক সহজ) কাজটিকে সহজ করে তোলে৷ এবং এখানে এটি একটি নতুন শব্দ মনে রাখা মূল্যবান - REST।

বিশ্রাম

REST - প্রতিনিধিত্বমূলক রাষ্ট্র স্থানান্তরের সংক্ষিপ্ত রূপ। এটি খুব স্পষ্ট শোনাতে পারে না, তবে সহজভাবে বলতে গেলে, REST হল একটি ক্লায়েন্ট এবং একটি সার্ভারের মধ্যে মিথস্ক্রিয়া (তথ্য বিনিময়) একটি শৈলী।

এটি নিয়ম এবং প্রয়োজনীয়তার কিছু কঠোর সেট নয়। REST কোনো নির্দিষ্ট প্রোগ্রামিং ভাষা ব্যবহার করতে বাধ্য করে না, বা কঠোর নির্দেশিকা দিয়ে হাত বাঁধে না। REST কে একটি স্থাপত্য শৈলী বলা হয় এবং এটি 6 টি নীতি সংজ্ঞায়িত করে যা একটি সিস্টেম আর্কিটেকচারকে অবশ্যই মেনে চলতে হবে।

তদনুসারে, REST-এর নীতিগুলি বিবেচনায় নিয়ে একটি API তৈরি করা হয় তাকে REST API বলা হয়, এবং অ্যাপ্লিকেশনগুলিকে RESTful বলা হয়

আমরা ঠিক এই ধরনের আরামদায়ক অ্যাপ্লিকেশন তৈরি করব, তাই তারা এখনই যে নীতিগুলি মেনে চলবে তা নিয়ে আলোচনা করা মূল্যবান৷

আরামদায়ক নীতি

ক্লায়েন্ট-সার্ভার মডেল । নীতিটি ক্লায়েন্ট এবং সার্ভারের পৃথকীকরণ, তাদের প্রয়োজনের পার্থক্যকে সংজ্ঞায়িত করে। ক্লায়েন্টকে কীভাবে ডেটা সংরক্ষণ করা হয় তা নিয়ে চিন্তা করতে হবে না, প্রধান জিনিসটি অনুরোধের ভিত্তিতে জারি করা হয়। পরিবর্তে, সার্ভার ক্লায়েন্ট এই ডেটার সাথে কী করবে, কীভাবে এটি আরও প্রক্রিয়া করবে এবং এটি প্রদর্শন করবে তা চিন্তা করে না। এটি তাদের একে অপরের থেকে স্বাধীনভাবে বিকাশ করতে দেয় এবং সিস্টেমের মাপযোগ্যতা উন্নত করে।

রাষ্ট্রহীনতা । এই নীতির মানে হল যে সার্ভারের এই ক্লায়েন্টের সাথে পূর্বের অভিজ্ঞতার উপর ভিত্তি করে প্রতিক্রিয়া "চিন্তা" করা উচিত নয়। যেকোনো অনুরোধ এমনভাবে করা হয় যাতে পূর্বের অনুরোধগুলি নির্বিশেষে তার প্রক্রিয়াকরণের জন্য প্রয়োজনীয় সমস্ত তথ্য থাকে।

ক্যাশিং ট্রান্সমিটেড ডাটা মিনিমাইজ করার জন্য ক্যাশিং মেকানিজম আছে। উদাহরণস্বরূপ, যদি কোনো পৃষ্ঠায় কোনো লোগো প্রদর্শিত হয়, তাহলে সার্ভার থেকে প্রতিবার অনুরোধ করার কোনো মানে হয় না। এটি প্রায়শই পরিবর্তন হয় না, এটি একবার পেতে এবং ক্লায়েন্টের কম্পিউটারে, ক্যাশে সংরক্ষণ করা যথেষ্ট হবে। কিন্তু যদি আমাদের গাড়ির বর্তমান গতি সম্পর্কে তথ্য পেতে হয়, তাহলে ক্যাশে কোনোভাবেই সাহায্য করবে না। এই নীতি নির্ধারণ করে যে সার্ভার দ্বারা প্রেরিত ডেটা ক্যাশেযোগ্য হিসাবে মনোনীত করা উচিত বা না।

ইউনিফর্ম ইন্টারফেস । নীতিটি ক্লায়েন্ট-সার্ভার ইন্টারঅ্যাকশনের একটি একক বিন্যাস সংজ্ঞায়িত করে। সমস্ত অনুরোধের গঠন একই হতে হবে। কে অনুরোধ করুক না কেন ডেটা একই ফর্মে পাঠাতে হবে।

স্তরযুক্ত সিস্টেম । ক্লায়েন্ট এবং সার্ভার অগত্যা সরাসরি যোগাযোগ করে না। ডেটা ট্রান্সমিশন বিভিন্ন মধ্যবর্তী নোডের মধ্য দিয়ে যেতে পারে। এই ক্ষেত্রে, সিস্টেমটি এমনভাবে ডিজাইন করা হয়েছে যাতে ক্লায়েন্ট বা সার্ভার কেউই জানে না যে তারা চূড়ান্ত অ্যাপ্লিকেশন বা একটি মধ্যবর্তী নোডের সাথে ইন্টারঅ্যাক্ট করছে কিনা। এটি আপনাকে সার্ভারে লোডের ভারসাম্য বজায় রাখতে, স্কেলেবিলিটি বাড়াতে দেয়।

চাহিদা অনুযায়ী কোড (ঐচ্ছিক) । একমাত্র নীতি যা বাধ্যতামূলক নয়। এটি অনুসারে, ক্লায়েন্ট সার্ভার থেকে এক্সিকিউটেবল কোড ডাউনলোড করে তার কার্যকারিতা প্রসারিত করতে পারে (উদাহরণস্বরূপ, স্ক্রিপ্টগুলি)। এই ক্ষেত্রে, কোডটি শুধুমাত্র চাহিদার উপর কার্যকর করা উচিত।

Was this article helpful?
এখনও একটি উত্তর খুঁজছেন?
কমিউনিটিতে যোগ দিন