API এবং HTTP (APIs and HTTP) -
এইচটিটিপি (HTTP) -
Computer Science
226
REST API এর মাধ্যমে HTTP এর ব্যবহার
REST (Representational State Transfer) হল একটি আর্কিটেকচারাল স্টাইল যা ওয়েব পরিষেবাগুলি তৈরি এবং ব্যবহার করার জন্য সাধারণভাবে ব্যবহৃত হয়। REST API (Application Programming Interface) HTTP প্রোটোকলের উপরে নির্মিত হয় এবং ক্লায়েন্ট-সার্ভার মডেলে কাজ করে। এটি তথ্যের আদান-প্রদানের জন্য HTTP মেথডস এবং স্ট্যাটাস কোড ব্যবহার করে।
REST API এর মূল বৈশিষ্ট্য
Stateless:
REST API stateless হয়, অর্থাৎ প্রতিটি রিকোয়েস্ট স্বতন্ত্র এবং সার্ভার ক্লায়েন্টের পূর্ববর্তী রিকোয়েস্টের কোনো তথ্য সংরক্ষণ করে না। প্রতিটি রিকোয়েস্টে প্রয়োজনীয় তথ্য থাকতে হবে।
Client-Server Architecture:
ক্লায়েন্ট এবং সার্ভার আলাদা, এবং তারা একে অপরের সাথে HTTP প্রোটোকলের মাধ্যমে যোগাযোগ করে। এটি সিস্টেমের উন্নয়ন এবং স্কেলেবিলিটি বাড়ায়।
Cacheable:
REST API রিসোর্সগুলি ক্যাশযোগ্য হতে পারে, যা সিস্টেমের পারফরম্যান্স বাড়াতে সাহায্য করে।
Uniform Interface:
REST API-এর সাথে কাজ করার জন্য একটি নির্দিষ্ট ইন্টারফেস থাকে, যা রিকোয়েস্ট এবং রেসপন্সের জন্য স্ট্যান্ডার্ডাইজেশন নিশ্চিত করে।
HTTP এর মাধ্যমে REST API এর কাজের প্রক্রিয়া
REST API-তে HTTP ব্যবহার করার সময় নিচের ধাপগুলি সাধারণত অনুসরণ করা হয়:
HTTP মেথডস:
REST API সাধারণত নিম্নলিখিত HTTP মেথডগুলি ব্যবহার করে:
GET: একটি রিসোর্স (যেমন ডেটাবেজের তথ্য) পাওয়ার জন্য ব্যবহার করা হয়।
POST: একটি নতুন রিসোর্স তৈরি করার জন্য ব্যবহৃত হয়।
PUT: বিদ্যমান রিসোর্স আপডেট করার জন্য ব্যবহৃত হয়।
DELETE: একটি রিসোর্স মুছে ফেলার জন্য ব্যবহার করা হয়।
URL নির্ধারণ:
REST API রিসোর্সের জন্য নির্দিষ্ট URL নির্ধারণ করে। উদাহরণস্বরূপ:
https://api.example.com/users/123 (ব্যবহারকারী আইডি 123 এর বিস্তারিত তথ্য)
HTTP স্ট্যাটাস কোড:
REST API রিকোয়েস্টের ফলাফল জানাতে HTTP স্ট্যাটাস কোড ব্যবহার করে। উদাহরণস্বরূপ:
200 OK: রিকোয়েস্ট সফল হয়েছে।
201 Created: নতুন রিসোর্স সফলভাবে তৈরি হয়েছে।
404 Not Found: অনুরোধকৃত রিসোর্স পাওয়া যায়নি।
500 Internal Server Error: সার্ভারে একটি ত্রুটি ঘটেছে।
JSON/XML ডেটা ফরম্যাট:
REST API সাধারণত JSON (JavaScript Object Notation) বা XML (eXtensible Markup Language) ডেটা ফরম্যাট ব্যবহার করে। এটি ক্লায়েন্ট এবং সার্ভারের মধ্যে তথ্যের আদান-প্রদান সহজ করে।
উদাহরণ
ধরা যাক, একটি REST API রয়েছে যা ব্যবহারকারীদের পরিচালনা করে:
REST API HTTP প্রোটোকলের ওপর নির্মিত একটি শক্তিশালী আর্কিটেকচারাল স্টাইল, যা ক্লায়েন্ট-সার্ভার মডেল অনুসরণ করে। এটি তথ্যের কার্যকরী আদান-প্রদান নিশ্চিত করে এবং HTTP মেথডস, URL নির্ধারণ, স্ট্যাটাস কোড, এবং ডেটা ফরম্যাট ব্যবহার করে। REST API-র মাধ্যমে ওয়েব পরিষেবাগুলি ব্যবহার করা সহজ এবং কার্যকরী, যা বিভিন্ন অ্যাপ্লিকেশন এবং সিস্টেমের মধ্যে একত্রিতকরণকে সহজ করে।