HTTP Status Codes এবং তাদের ব্যবহার

HTTP এর ভূমিকা RESTful Web Services এ - রেস্টফুল ওয়েব সার্ভিস (RESTful Web Services) - Web Development

313

HTTP Status Codes: একটি পরিচিতি

HTTP Status Codes হল ৩টি ডিজিটের কোড যা HTTP (HyperText Transfer Protocol) সার্ভার দ্বারা ক্লায়েন্ট (ব্রাউজার বা অন্যান্য HTTP ক্লায়েন্ট) কে রেসপন্সের স্ট্যাটাস বা ফলাফল জানাতে ব্যবহৃত হয়। এই কোডগুলি ক্লায়েন্টকে জানায় যে তার রিকোয়েস্ট সফলভাবে প্রসেস হয়েছে কিনা, অথবা যদি কোনো সমস্যা ঘটে থাকে, তবে সেই সমস্যা কী ধরনের।

RESTful ওয়েব সার্ভিসে HTTP Status Codes অত্যন্ত গুরুত্বপূর্ণ, কারণ তারা ক্লায়েন্ট এবং সার্ভারের মধ্যে যোগাযোগের জন্য একটি স্ট্যান্ডার্ড সিস্টেম সরবরাহ করে। এই কোডগুলি নির্ধারণ করে রিকোয়েস্টের সফলতা, ত্রুটি বা অন্য কোন ফলাফল।


HTTP Status Codes এর শ্রেণী

HTTP Status Codes সাধারণত ৫টি প্রধান শ্রেণীতে ভাগ করা হয়, যার প্রতিটি শ্রেণী একটি নির্দিষ্ট ধরনের তথ্য প্রদান করে। এই শ্রেণীগুলি হলো:

  1. 1xx (Informational): প্রাথমিক তথ্য বা প্রক্রিয়া চলমান।
  2. 2xx (Successful): রিকোয়েস্ট সফলভাবে সম্পন্ন হয়েছে।
  3. 3xx (Redirection): রিকোয়েস্টটি অন্য জায়গায় রিডাইরেক্ট করা হয়েছে।
  4. 4xx (Client Error): ক্লায়েন্টের রিকোয়েস্টে ত্রুটি রয়েছে।
  5. 5xx (Server Error): সার্ভারে কোনো ত্রুটি হয়েছে।

২xx (Successful) Status Codes

এই কোডগুলি জানায় যে ক্লায়েন্টের রিকোয়েস্ট সফলভাবে সার্ভার দ্বারা প্রসেস করা হয়েছে।

  • 200 OK: রিকোয়েস্ট সফল এবং সার্ভার সঠিক রেসপন্স প্রদান করেছে।
    • ব্যবহার: এটি সবচেয়ে সাধারণ রেসপন্স কোড। সাধারণত GET, POST, PUT এবং DELETE রিকোয়েস্টের জন্য ব্যবহৃত হয়।
    • উদাহরণ: "GET /users" যদি সফলভাবে ইউজারদের তথ্য ফিরিয়ে দেয়, তবে সার্ভার 200 OK পাঠাবে।
  • 201 Created: রিকোয়েস্ট সফল, এবং একটি নতুন রিসোর্স তৈরি করা হয়েছে।
    • ব্যবহার: সাধারণত POST রিকোয়েস্টের জন্য ব্যবহৃত হয় যখন একটি নতুন রিসোর্স তৈরি করা হয়।
    • উদাহরণ: "POST /users" যদি একটি নতুন ইউজার তৈরি করে, তবে সার্ভার 201 Created পাঠাবে।
  • 204 No Content: রিকোয়েস্ট সফল, তবে কোনো কন্টেন্ট ফেরত আসেনি।
    • ব্যবহার: DELETE রিকোয়েস্টের জন্য বা কোন আপডেটের পর কন্টেন্ট রিটার্ন না করলে ব্যবহৃত হয়।
    • উদাহরণ: "DELETE /users/1" যদি ইউজার ১ মুছে ফেলা হয়, তবে সার্ভার 204 No Content পাঠাতে পারে।

৩xx (Redirection) Status Codes

এই কোডগুলি জানায় যে ক্লায়েন্টকে অন্য একটি ইউআরএল এ রিডাইরেক্ট করা হয়েছে।

  • 301 Moved Permanently: রিসোর্সটি স্থায়ীভাবে অন্য জায়গায় চলে গেছে।
    • ব্যবহার: ওয়েবসাইট বা রিসোর্সের স্থায়ী রিডাইরেকশনের জন্য ব্যবহৃত হয়।
    • উদাহরণ: "GET /old-page" যদি সার্ভার 301 রিডাইরেক্ট দিয়ে নতুন ইউআরএল প্রদান করে, যেমন "https://www.example.com/new-page"।
  • 302 Found: রিসোর্সটি সাময়িকভাবে অন্য জায়গায় চলে গেছে।
    • ব্যবহার: সাময়িক রিডাইরেকশন।
    • উদাহরণ: "GET /temporary-page" যদি একটি সাময়িক রিডাইরেকশন হয়ে থাকে।
  • 304 Not Modified: রিকোয়েস্টের রিসোর্সে কোনো পরিবর্তন হয়নি।
    • ব্যবহার: এটি সাধারণত ক্যাশিং ব্যবস্থার ক্ষেত্রে ব্যবহৃত হয়।
    • উদাহরণ: "GET /users" যখন ইউজারের ডেটা পরিবর্তন না হয়ে থাকলে 304 কোড রিটার্ন হবে।

4xx (Client Error) Status Codes

এই কোডগুলি জানায় যে ক্লায়েন্টের রিকোয়েস্টে কোনো ত্রুটি রয়েছে।

  • 400 Bad Request: সার্ভার ক্লায়েন্টের রিকোয়েস্ট বুঝতে পারছে না বা সঠিকভাবে পার্স করতে পারছে না।
    • ব্যবহার: ক্লায়েন্টের ভুল রিকোয়েস্ট (যেমন ভুল সিনট্যাক্স বা অপর্যাপ্ত ডেটা)।
    • উদাহরণ: "POST /users" যদি ক্লায়েন্ট অপর্যাপ্ত বা ভুল ডেটা পাঠায়, তবে সার্ভার 400 Bad Request পাঠাবে।
  • 401 Unauthorized: রিকোয়েস্টে প্রয়োজনীয় অথেন্টিকেশন তথ্য নেই বা এটি ভুল।
    • ব্যবহার: যখন ইউজারের অথেন্টিকেশন প্রয়োজন এবং এটি প্রদান করা হয়নি বা ভুল।
    • উদাহরণ: "GET /private-data" যদি অথেন্টিকেশন প্রয়োজন হয়, তবে সার্ভার 401 Unauthorized পাঠাবে।
  • 403 Forbidden: রিকোয়েস্টটি আইনগতভাবে নিষিদ্ধ (যদিও অথেন্টিকেশন রয়েছে)।
    • ব্যবহার: ক্লায়েন্ট অথেন্টিকেটেড হলেও তাকে রিসোর্স অ্যাক্সেস করতে অনুমতি নেই।
    • উদাহরণ: "GET /admin" যদি একজন সাধারণ ইউজারকে প্রশাসনিক পেজ অ্যাক্সেস করতে দেওয়া না হয়।
  • 404 Not Found: রিকোয়েস্ট করা রিসোর্স পাওয়া যায়নি।
    • ব্যবহার: যখন সার্ভারে রিকোয়েস্ট করা রিসোর্স বা পেজ পাওয়া যায় না।
    • উদাহরণ: "GET /users/999" যদি ব্যবহারকারী 999 পাওয়ার চেষ্টা করা হয়, তবে সার্ভার 404 Not Found রিটার্ন করবে।

5xx (Server Error) Status Codes

এই কোডগুলি জানায় যে সার্ভারে কোনো ত্রুটি ঘটেছে এবং এটি রিকোয়েস্ট প্রক্রিয়া করতে পারছে না।

  • 500 Internal Server Error: সার্ভারে কোনো অপ্রত্যাশিত ত্রুটি ঘটেছে।
    • ব্যবহার: সার্ভারের কোনো প্রক্রিয়া বা কনফিগারেশন ত্রুটির কারণে রিকোয়েস্ট সফল হতে পারেনি।
    • উদাহরণ: "GET /users" যখন সার্ভারে কোনো ত্রুটি ঘটে, সার্ভার 500 Internal Server Error পাঠাবে।
  • 502 Bad Gateway: সার্ভার একটি অপর সার্ভার থেকে ভুল রেসপন্স পেয়েছে।
    • ব্যবহার: একটি গেটওয়ে বা প্রক্সি সার্ভার যখন একটি অপর সার্ভার থেকে সঠিক রেসপন্স না পায়।
    • উদাহরণ: যখন সার্ভার অন্য একটি সার্ভিসের সাথে সংযোগ করতে ব্যর্থ হয়।
  • 503 Service Unavailable: সার্ভিস বর্তমানে উপলব্ধ নয় (সার্ভার ডাউন বা ব্যস্ত)।
    • ব্যবহার: সার্ভার অস্থায়ীভাবে এক্সেসযোগ্য নয়, যেমন সার্ভার রিবুট হচ্ছে বা অতিরিক্ত লোড রয়েছে।
    • উদাহরণ: যখন সার্ভার রক্ষণাবেক্ষণের জন্য ডাউন থাকে, তখন 503 Service Unavailable রিটার্ন হবে।

সারাংশ

HTTP Status Codes হল একটি গুরুত্বপূর্ণ অংশ যা সার্ভার এবং ক্লায়েন্টের মধ্যে যোগাযোগকে সঠিকভাবে নির্দেশনা দেয়। 2xx শ্রেণী সফল রিকোয়েস্টগুলির জন্য, 4xx শ্রেণী ক্লায়েন্টের ত্রুটির জন্য, এবং 5xx শ্রেণী সার্ভারের ত্রুটির জন্য ব্যবহৃত হয়। 3xx শ্রেণী রিডাইরেকশন সংক্রান্ত এবং 1xx শ্রেণী সাধারণত ইনফরমেশনাল স্ট্যাটাস নির্দেশ করে। এই কোডগুলির সঠিক ব্যবহার নিশ্চিত করে যে RESTful API গুলো ঠিকভাবে এবং কার্যকরীভাবে কাজ করছে।

Content added By
Promotion

Are you sure to start over?

Loading...