🎥 উপরে পুরো ভিডিওটি দেখে নিতে পারেন — অথবা নিচে পড়ে নিন। দুটোতেই একই জিনিস সহজ করে বোঝানো হয়েছে।
গত পর্বে আমরা শিখেছি API কী। কিন্তু আসল মজা শুরু হয় এখন — আজ আমরা পর্দার পেছনে উঁকি দেব আর দেখব এটা ঠিক কীভাবে কাজ করে। আপনি যখন Instagram খোলেন, একটা ছবি লাইক দেন, বা bKash-এ টাকা পাঠান — প্রতিবার এক সেকেন্ডের ভগ্নাংশে একটা ছোট্ট কথোপকথন ঘটে দুটি কম্পিউটারের মধ্যে। সেই কথোপকথনটাই আজকের বিষয়।
ভালো খবর: পুরো ব্যাপারটা মাত্র দুটি চরিত্র আর একটা চক্র দিয়েই বোঝা যায়।
মাত্র দুটি চরিত্র: Client আর Server
Client হলো যে কিছু চায় — সাধারণত আপনার ফোনের অ্যাপ বা ব্রাউজার। আপনার হাতে যা আছে, সেটাই client।
Server হলো শক্তিশালী একটা কম্পিউটার, অন্য কোথাও (হয়তো অন্য একটা দেশে), যার কাছে জিনিসটা আছে — ডেটা, ছবি, দাম, ইউজারের তথ্য। সে সারাক্ষণ চালু থাকে, অনুরোধের অপেক্ষায়।
🍽️ আবার সেই রেস্টুরেন্ট
আপনি (client) ওয়েটারকে বলেন "একটা স্যান্ডউইচ দিন" — এটা request। ওয়েটার (API) রান্নাঘরে (server) যায়, খাবার নিয়ে ফিরে আসে — এটা response।পুরো ব্যাপারটা এক বাক্যে: Request → Response
Client একটা request (অনুরোধ) পাঠায় server-এর কাছে, আর server একটা response (উত্তর) ফেরত পাঠায়। ব্যস — এটাই API-র হৃদয়। অনুরোধ যায়, উত্তর আসে। এই একটা চক্রই (request–response cycle) পুরো ইন্টারনেট চালায়।
ধাপে ধাপে: Instagram খুললে কী ঘটে
চলুন একটা বাস্তব দৃশ্য ধীরে ধীরে দেখি। আপনি Instagram অ্যাপ খুললেন—
- Request তৈরি হয়: অ্যাপ (client) একটা অনুরোধ বানায় — "এই ইউজারের ফিডের নতুন পোস্টগুলো দাও।"
- Request পাঠানো হয়: ইন্টারনেটের মধ্য দিয়ে অনুরোধটা Instagram-এর server-এ পৌঁছায়।
- Server কাজ করে: server তার ডেটাবেস ঘেঁটে আপনার ফিডের পোস্টগুলো খুঁজে বের করে।
- Response ফেরত আসে: server পোস্টগুলোর ডেটা (টেক্সট, ছবির লিংক, লাইক সংখ্যা) আপনার ফোনে পাঠায়।
- স্ক্রিনে দেখানো হয়: অ্যাপ সেই কাঁচা ডেটা নিয়ে সুন্দর করে সাজিয়ে আপনাকে দেখায়।
পুরো প্রক্রিয়াটা সাধারণত এক সেকেন্ডেরও কম সময়ে হয়ে যায় — তাই আপনি টেরও পান না!
Request-এর ভেতরে কী থাকে?
একটা request চিঠির মতো — খামের ওপর কিছু তথ্য থাকে। মূল চারটি অংশ:
- কোথায় (Endpoint): কোন ঠিকানায় অনুরোধ যাচ্ছে — যেমন
/feedবা/users/5। - কী করতে চান (Method): দেখতে, যোগ করতে, বদলাতে নাকি মুছতে — GET, POST, PUT, DELETE।
- পরিচয় (Headers): অতিরিক্ত তথ্য — যেমন আপনি কে (authentication token)।
- ডেটা (Body): নতুন কিছু পাঠালে সেই তথ্য — যেমন নতুন পোস্টের লেখা।
Response-এর ভেতরে কী থাকে?
- Status code: ছোট্ট একটা নম্বর যা বলে কাজটা হয়েছে কিনা —
200= ঠিক আছে,404= পাওয়া যায়নি,500= server-এ সমস্যা। (পুরো পর্ব ৬-এ আসছে।) - ডেটা (Body): আপনি যা চেয়েছিলেন — সাধারণত JSON ফরম্যাটে (পর্ব ৫-এ বিস্তারিত)।
সত্যিকারের একটা চক্র দেখতে কেমন
লক্ষ্য করুন — client শুধু পরিষ্কার একটা অনুরোধ পাঠাল, আর server গোছানো একটা উত্তর দিল। দুজনেই একটা নির্দিষ্ট নিয়ম মানছে, তাই তারা একে অপরকে বুঝতে পারছে।
নতুনদের ২টি ভুল ধারণা
- ❌ "Server মানে আলাদা কোনো জাদুর বাক্স।" না — server আসলে একটা সাধারণ কম্পিউটারই, শুধু সবসময় চালু থাকে আর অনুরোধের উত্তর দেওয়ার জন্য সাজানো।
- ❌ "Client নিজেই সব ডেটা ধরে রাখে।" বেশিরভাগ ক্ষেত্রে না — আসল ডেটা server-এ থাকে। তাই নতুন ফোনে লগইন করলেই আপনার সব পুরোনো পোস্ট ফিরে আসে।
হাতে-কলমে: চক্রটা নিজের চোখে দেখুন
আপনার কম্পিউটারে যেকোনো ওয়েবসাইট খুলুন, তারপর F12 চেপে ব্রাউজারের developer tools খুলুন আর "Network" ট্যাবে যান। এবার পেজটা রিফ্রেশ করুন। দেখবেন একগাদা লাইন আসছে — প্রতিটি লাইন একেকটা request–response! যেকোনো একটায় ক্লিক করলে দেখবেন status code আর ফেরত আসা ডেটা। এটাই বাস্তবে চলতে থাকা API চক্র। 🔍
সংক্ষেপে — আজকের মূল কথা
- দুটি চরিত্র: Client (যে চায়) আর Server (যার কাছে আছে)।
- Client একটা request পাঠায়, Server একটা response ফেরত দেয়।
- Request-এ থাকে: কোথায় + কী করতে চান + পরিচয় + ডেটা।
- Response-এ থাকে: status code + চাওয়া ডেটা (JSON)।
- প্রতিটি অ্যাপ দিনে শত শত বার এই চক্র চালায় — এটাই সফটওয়্যারের হৃদস্পন্দন।
প্রায়ই জিজ্ঞেস করা প্রশ্ন (FAQ)
Request পাঠাতে কি সবসময় ইন্টারনেট লাগে?
হ্যাঁ, client আর server সাধারণত আলাদা জায়গায় থাকে, তাই অনুরোধ ইন্টারনেটের মধ্য দিয়েই যায়। ইন্টারনেট না থাকলে অ্যাপ "নতুন ডেটা" আনতে পারে না — তখন আপনি পুরোনো (cached) তথ্য দেখেন।
একটা অ্যাপ কি একসাথে অনেক request পাঠায়?
হ্যাঁ। একটা পেজ লোড হতেই হয়তো ১০-২০টা request যায় — একটা পোস্টের জন্য, একটা ছবির জন্য, একটা ইউজার তথ্যের জন্য — সবগুলো প্রায় একসাথে।
পরবর্তী ধাপ
এখন আপনি জানেন request–response চক্র কীভাবে চলে। পরের পর্বে আমরা গভীরে যাব request-এর "কী করতে চান" অংশে — চারটি মূল কাজ, যাকে বলে HTTP methods (GET, POST, PUT, DELETE)।
📬 পরের পর্ব মিস করতে চান না?
সম্পূর্ণ ফ্রি API কোর্সটি দেখুন, আর নতুন পর্বের আপডেট পেতে সাবস্ক্রাইব করুন।
▶️ YouTube-এ Subscribe 📚 সম্পূর্ণ API কোর্স📧 প্রশ্ন আছে? hello@shadhinpath.com