HTTP Methods: GET, POST, PUT, DELETE

Web Development - ওয়েব সার্ভিস (Web Services) RESTful Web Services |
107
107

HTTP (Hypertext Transfer Protocol) একটি প্রোটোকল যা ওয়েব সার্ভিস এবং ক্লায়েন্ট (যেমন ব্রাউজার) এর মধ্যে ডেটা আদান-প্রদান করতে ব্যবহৃত হয়। HTTP এর মধ্যে বেশ কিছু "মেথড" বা পদ্ধতি রয়েছে যা সার্ভারের সাথে যোগাযোগ করতে ব্যবহৃত হয়। এর মধ্যে GET, POST, PUT, এবং DELETE সবচেয়ে সাধারণ এবং গুরুত্বপূর্ণ HTTP মেথড। এই মেথডগুলির মাধ্যমে ক্লায়েন্ট সার্ভারের কাছে বিভিন্ন ধরণের রিকোয়েস্ট পাঠাতে পারে এবং সার্ভার সেই অনুযায়ী রেসপন্স প্রদান করে।


GET Method

GET মেথড হল সবচেয়ে বেশি ব্যবহৃত HTTP মেথড। এটি সার্ভার থেকে ডেটা গ্রহণ করার জন্য ব্যবহৃত হয়। GET রিকোয়েস্ট সাধারণত কোনো তথ্য অনুরোধ করার জন্য ব্যবহৃত হয়, যেমন একটি ওয়েব পৃষ্ঠার কন্টেন্ট বা ডাটাবেজের কোনো রেকর্ড।

বিশেষত্ব

  • ডেটা গ্রহন: GET রিকোয়েস্ট সার্ভার থেকে কোনো ডেটা আনার জন্য ব্যবহৃত হয়।
  • স্টেটলেস: GET রিকোয়েস্টের সাথে কোনো স্টেট (পূর্ববর্তী অবস্থার) সংরক্ষণ করা হয় না।
  • URL এর মাধ্যমে: GET রিকোয়েস্ট ডেটা URL এর অংশ হিসেবে প্রেরণ করে (যেমন, URL Query Parameters)।

ব্যবহার উদাহরণ

  • একটি ওয়েবসাইটের হোম পেজের কন্টেন্ট দেখতে হলে GET রিকোয়েস্ট পাঠানো হয়।
  • ডেটাবেজ থেকে কোনো তথ্য বা রেকর্ড খোঁজার জন্য GET ব্যবহৃত হয়।
GET /users/123 HTTP/1.1
Host: example.com

POST Method

POST মেথড সার্ভারে নতুন ডেটা পাঠানোর জন্য ব্যবহৃত হয়। এটি সাধারণত ফর্ম সাবমিশন বা ডেটাবেজে নতুন রেকর্ড তৈরি করার জন্য ব্যবহৃত হয়। POST রিকোয়েস্টের মাধ্যমে ডেটা HTTP বডির মাধ্যমে পাঠানো হয়, যা GET এর তুলনায় বেশি নিরাপদ এবং বড় ডেটা পাঠাতে সক্ষম।

বিশেষত্ব

  • ডেটা পাঠানো: POST রিকোয়েস্ট সার্ভারের কাছে ডেটা পাঠানোর জন্য ব্যবহৃত হয়।
  • স্টেটফুল: POST রিকোয়েস্টে সাধারণত সার্ভারের ডেটাবেজ বা স্টেট পরিবর্তন হয়।
  • বডি দ্বারা ডেটা প্রেরণ: POST রিকোয়েস্টে ডেটা URL এর অংশ হিসেবে না গিয়ে HTTP বডির মধ্যে থাকে।

ব্যবহার উদাহরণ

  • একটি নতুন ইউজার রেজিস্ট্রেশন ফর্ম জমা দেওয়ার জন্য POST রিকোয়েস্ট পাঠানো হয়।
  • নতুন কোনো পণ্য যোগ করার জন্য POST ব্যবহৃত হয়।
POST /users HTTP/1.1
Host: example.com
Content-Type: application/json
{
  "name": "John Doe",
  "email": "john.doe@example.com"
}

PUT Method

PUT মেথড একটি সম্পূর্ণ রিসোর্স আপডেট বা প্রতিস্থাপন করার জন্য ব্যবহৃত হয়। PUT রিকোয়েস্টে সার্ভারে পাঠানো ডেটা সম্পূর্ণ রিসোর্সটি আপডেট করে, অর্থাৎ কোনো একটি রিসোর্সের পুরোনো কনটেন্ট সম্পূর্ণভাবে নতুন কনটেন্ট দ্বারা প্রতিস্থাপন হয়।

বিশেষত্ব

  • সম্পূর্ণ আপডেট: PUT রিকোয়েস্ট ব্যবহৃত হয় যখন কোনো রিসোর্সের সম্পূর্ণ কনটেন্ট পরিবর্তন করতে হয়।
  • স্টেটলেস: PUT রিকোয়েস্টের মাধ্যমে সার্ভারের অবস্থা পরিবর্তন হয়, কিন্তু ক্লায়েন্টের কাছে কোনো তথ্য সংরক্ষিত থাকে না।
  • বডি দ্বারা ডেটা প্রেরণ: PUT রিকোয়েস্টের মাধ্যমে পাঠানো ডেটা HTTP বডিতে থাকে।

ব্যবহার উদাহরণ

  • একটি ইউজারের প্রোফাইল আপডেট করার জন্য PUT রিকোয়েস্ট পাঠানো হয়।
  • কোনো পণ্যের বিস্তারিত পরিবর্তন বা আপডেট করার জন্য PUT ব্যবহৃত হয়।
PUT /users/123 HTTP/1.1
Host: example.com
Content-Type: application/json
{
  "name": "John Doe",
  "email": "newemail@example.com"
}

DELETE Method

DELETE মেথড একটি রিসোর্স সার্ভার থেকে মুছে ফেলার জন্য ব্যবহৃত হয়। এটি ব্যবহৃত হয় যখন কোনো রিসোর্স বা ডেটা সম্পূর্ণভাবে সার্ভার থেকে ডিলিট করতে হয়।

বিশেষত্ব

  • ডেটা মুছে ফেলা: DELETE রিকোয়েস্ট ব্যবহার করা হয় কোনো রিসোর্স বা ডেটা মুছে ফেলার জন্য।
  • স্টেটলেস: DELETE রিকোয়েস্টের মাধ্যমে সার্ভারের অবস্থা পরিবর্তন হয়, কিন্তু এতে কোনো পূর্ববর্তী অবস্থা সংরক্ষণ করা হয় না।

ব্যবহার উদাহরণ

  • একটি ইউজার অ্যাকাউন্ট ডিলিট করার জন্য DELETE রিকোয়েস্ট পাঠানো হয়।
  • একটি পণ্য বা রেকর্ড মুছে ফেলার জন্য DELETE ব্যবহৃত হয়।
DELETE /users/123 HTTP/1.1
Host: example.com

GET, POST, PUT, DELETE এর তুলনা

মেথডব্যবহারডেটা প্রেরণপ্রভাব
GETডেটা সংগ্রহ করাURL এর মাধ্যমেডেটার পরিবর্তন ঘটে না
POSTনতুন ডেটা তৈরি করা বা জমা দেওয়াHTTP বডির মাধ্যমেসার্ভারের অবস্থা পরিবর্তিত হয়
PUTরিসোর্স সম্পূর্ণ আপডেট করাHTTP বডির মাধ্যমেপুরোনো ডেটা সম্পূর্ণরূপে পরিবর্তিত হয়
DELETEরিসোর্স মুছে ফেলাURL এর মাধ্যমেডেটা মুছে যায়

সারাংশ

GET, POST, PUT, এবং DELETE হল HTTP প্রোটোকলের মূল মেথড যা ওয়েব অ্যাপ্লিকেশন এবং সার্ভিসগুলির মধ্যে ডেটা আদান-প্রদান নিশ্চিত করে। GET ডেটা সংগ্রহের জন্য, POST নতুন ডেটা পাঠানোর জন্য, PUT ডেটা আপডেট করার জন্য এবং DELETE ডেটা মুছে ফেলার জন্য ব্যবহৃত হয়। এগুলো ওয়েব ডেভেলপমেন্টে একটি মৌলিক অংশ এবং ওয়েব সার্ভিসের কার্যকারিতা নিশ্চিত করতে সাহায্য করে।

Content added By
Promotion