🔷 REST কী? REST-এর পূর্ণরূপ হলো Representational State Transfer। এটি একটি সফটওয়্যার ডিজাইন স্টাইল, যা বলে দেয় কীভাবে একটি ক্লায়েন্ট (যেমনঃ মোবাইল অ্যাপ বা ওয়েব ব্রাউজার) এবং সার্ভার (যেখানে ডেটা থাকে) HTTP-র মাধ্যমে একে অপরের সাথে যোগাযোগ করবে।
🔷 Representation মানে কী? Representation হলো একটি resource-এর তথ্য বা অবস্থা যেটি সার্ভার থেকে পাঠানো হয় JSON, XML, বা HTML ফরম্যাটে।
📌 যেমনঃ GET /users/1 এই request এর জবাবে সার্ভার আপনাকে এই রকম একটি JSON পাঠাতে পারে:
{
“id”: 1,
“name”: “Kamrul”,
“email”: “kamrul@example.com”
}
এই JSON ফাইলটি হলো user নামক resource-এর একটি representation।
🔷 State মানে কী? State মানে হলো কোনো resource-এর বর্তমান অবস্থা বা তথ্য। যখন আপনি কোনো API ব্যবহার করে একটি resource-এর data চান, তখন সার্ভার আপনাকে সেই মুহূর্তে সেই resource-এর যে অবস্থা আছে, সেটা পাঠিয়ে দেয়। উদাহরণস্বরূপ, যদি কোনো বইয়ের stock থাকে ৫টা, তাহলে তার state হচ্ছে — “5 items in stock”।
🔷 Transfer মানে কী? REST-এর সবচেয়ে গুরুত্বপূর্ণ অংশ এই Transfer শব্দটি। 👉 Transfer মানে হলো –সার্ভার থেকে ক্লায়েন্টের কাছে resource-এর বর্তমান অবস্থা (state) তার representation আকারে স্থানান্তর করা। অর্থাৎ, সার্ভার ডেটা সংগ্রহ করে, সেটিকে JSON বা XML ফরম্যাটে রূপান্তর করে ক্লায়েন্টকে পাঠিয়ে দেয় — এটিই হচ্ছে Representational State Transfer।
📜 REST মূলত নির্দিষ্ট কিছু নীতিমালা অনুসরণ করে API ডিজাইন করে, REST-এর ৭টি মূল নীতিমালা :
- Resource-based URI — প্রতিটি তথ্যকে URL এর মাধ্যমে প্রকাশ করতে হবে।
- HTTP Methods ব্যবহার — GET, POST, PUT, DELETE ইত্যাদি মানানসই verbs ব্যবহার করতে হবে।
- Stateless communication — প্রতিটি রিকোয়েস্ট আলাদা, সার্ভার কোনো অবস্থান (state) মনে রাখবে না।
- Representation-based data — ডেটা পাঠানো হবে JSON বা XML আকারে, মূল রিসোর্স নয়।
- Client–Server separation — ক্লায়েন্ট ও সার্ভারের দায়িত্ব আলাদা থাকবে।
- Cacheable response — রেসপন্স এমন হতে হবে যেন প্রয়োজনীয় হলে cache করা যায়।
- Uniform interface — সম্পূর্ণ API জুড়ে একরকম রুল ও স্টাইল মেনে চলতে হবে।
🔷 REST API কী? REST API হলো এমন একটি API (Application Programming Interface), যা REST এর নিয়মগুলো অনুসরণ করে ক্লায়েন্ট ও সার্ভারের মধ্যে তথ্য আদান-প্রদান করে।
REST API-তে সাধারণত নিচের HTTP method গুলো ব্যবহৃত হয়:
HTTP Method উদ্দেশ্য GET তথ্য আনা (Read) POST নতুন তথ্য তৈরি (Create) PUT তথ্য আপডেট করা (Update) DELETE তথ্য মুছে ফেলা (Delete)
📘 উদাহরণ:
| Endpoint | মানে |
GET /books | সব বইয়ের তালিকা আনো
GET /books/1 | আইডি ১ নাম্বার বই আনো
POST /books | নতুন বই যোগ করো
PUT /books/1 | আইডি ১ নাম্বার বই আপডেট করো DELETE /books/1| আইডি ১ নাম্বার বই ডিলিট করো
🔷 RESTful API কী? যদি কোনো API REST এর সকল নিয়ম সঠিকভাবে অনুসরণ করে, তাহলে তাকে বলা হয় RESTful API।
একটি RESTful API-এর বৈশিষ্ট্যঃ
- ✅ সঠিক HTTP verbs ব্যবহার করে
- ✅ প্রতিটি resource-এর আলাদা URI থাকে (যেমনঃ /users/1)
- ✅ Stateless হয়
- ✅ Representation আকারে data পাঠায়
সামারি :
- ▶️REST- Representational State Transfer (একটি ডিজাইন স্টাইল)
- ▶️Representation- JSON বা XML আকারে ডেটা
- ▶️State- resource-এর বর্তমান অবস্থা
- ▶️Transfer-সেই অবস্থা ক্লায়েন্টের কাছে পাঠানো
- ▶️REST API- REST ভিত্তিক একটি API
- ▶️RESTful API ( Web service) — REST এর নিয়ম অনুযায়ী তৈরি করা API ( Web service)