HTTP Status Codes হলো সার্ভার থেকে ব্রাউজার বা ক্লায়েন্টকে পাঠানো প্রতিক্রিয়া বা রেসপন্সের একটি সংখ্যা, যা রিকোয়েস্টের সফলতা, ত্রুটি, বা অন্যান্য অবস্থা নির্দেশ করে। এই স্ট্যাটাস কোডগুলোকে পাঁচটি ক্যাটেগরিতে ভাগ করা হয়েছে, এবং প্রতিটি ক্যাটেগরি রিকোয়েস্টের একটি নির্দিষ্ট অবস্থা নির্দেশ করে। নিচে HTTP Status Codes এবং তাদের ব্যবহারের নিয়ম ব্যাখ্যা করা হলো।
HTTP Status Code এর ক্যাটেগরি:
1xx (Informational): তথ্য প্রদান করে
- সাধারণত নির্দেশ করে যে সার্ভার রিকোয়েস্টটি পেয়েছে এবং প্রক্রিয়া করছে।
2xx (Success): সফল রিকোয়েস্ট
- নির্দেশ করে যে রিকোয়েস্ট সফলভাবে সম্পন্ন হয়েছে এবং সার্ভার থেকে প্রয়োজনীয় রেসপন্স পাওয়া গেছে।
3xx (Redirection): রিডাইরেকশন
- নির্দেশ করে যে রিকোয়েস্ট সম্পন্ন হতে গেলে ক্লায়েন্টকে অন্য একটি URL এ যেতে হবে বা অন্য কোনো পদক্ষেপ নিতে হবে।
4xx (Client Error): ক্লায়েন্ট-সাইড ত্রুটি
- নির্দেশ করে যে রিকোয়েস্টে কিছু ত্রুটি হয়েছে, যা সাধারণত ক্লায়েন্টের পক্ষ থেকে হয়েছে, যেমন ভুল URL বা অনুমতির অভাব।
5xx (Server Error): সার্ভার-সাইড ত্রুটি
- নির্দেশ করে যে সার্ভারে কিছু সমস্যা হয়েছে এবং এটি রিকোয়েস্ট প্রক্রিয়া করতে অক্ষম।
সাধারণ HTTP Status Codes এবং তাদের ব্যবহার:
1. 1xx (Informational Codes):
- 100 Continue:
- নির্দেশ করে যে ক্লায়েন্টের রিকোয়েস্ট অংশটি প্রাথমিকভাবে গ্রহণ করা হয়েছে এবং ক্লায়েন্ট পরবর্তী রিকোয়েস্ট পাঠাতে পারে।
2. 2xx (Success Codes):
200 OK:
- নির্দেশ করে যে রিকোয়েস্ট সফলভাবে প্রক্রিয়া করা হয়েছে এবং রেসপন্স হিসেবে প্রয়োজনীয় ডেটা পাওয়া গেছে।
- উদাহরণ: Ajax রিকোয়েস্ট সফল হলে, আমরা সাধারণত এই স্ট্যাটাস কোড দেখি।
201 Created:
- নির্দেশ করে যে রিকোয়েস্টের ফলে একটি নতুন রিসোর্স সফলভাবে তৈরি হয়েছে।
- উদাহরণ: POST রিকোয়েস্ট ব্যবহার করে নতুন ডেটা সার্ভারে পাঠানো হলে, এই স্ট্যাটাস কোড দেখা যায়।
204 No Content:
- নির্দেশ করে যে রিকোয়েস্ট সফল হয়েছে, কিন্তু সার্ভার থেকে কোনো কনটেন্ট রিটার্ন করা হয়নি।
- উদাহরণ: DELETE রিকোয়েস্ট সফল হলে, আমরা সাধারণত এই স্ট্যাটাস কোড দেখতে পারি।
3. 3xx (Redirection Codes):
301 Moved Permanently:
- নির্দেশ করে যে রিকোয়েস্ট করা রিসোর্সটি স্থায়ীভাবে অন্য একটি URL এ চলে গেছে। ব্রাউজারকে নতুন URL এ যেতে হবে।
302 Found:
- নির্দেশ করে যে রিকোয়েস্ট করা রিসোর্সটি অন্য একটি URL এ অস্থায়ীভাবে পাওয়া যাবে। ব্রাউজারকে নতুন URL এ রিডাইরেক্ট করা উচিত।
304 Not Modified:
- নির্দেশ করে যে রিসোর্সটি ব্রাউজারের ক্যাশে থেকে লোড করা যেতে পারে, কারণ এটি সর্বশেষ সংস্করণ।
4. 4xx (Client Error Codes):
400 Bad Request:
- নির্দেশ করে যে রিকোয়েস্টটি ভুল ছিল এবং সার্ভার এটি প্রক্রিয়া করতে পারে না।
- উদাহরণ: ফর্ম সাবমিট করার সময় যদি ইনপুট ভ্যালিড না হয়, এই কোড দেখা যায়।
401 Unauthorized:
- নির্দেশ করে যে রিকোয়েস্টের জন্য প্রয়োজনীয় অনুমতি নেই। সাধারণত, ইউজারকে লগইন করতে হবে।
403 Forbidden:
- নির্দেশ করে যে রিকোয়েস্টটি অনুমোদিত নয়, এমনকি ইউজার অথেনটিকেটেড হলেও।
404 Not Found:
- নির্দেশ করে যে রিকোয়েস্ট করা URL বা রিসোর্স সার্ভারে পাওয়া যায়নি।
- উদাহরণ: ভুল URL দিলে বা সার্ভারে রিসোর্স না থাকলে এই কোড পাওয়া যায়।
429 Too Many Requests:
- নির্দেশ করে যে ক্লায়েন্ট খুব বেশি রিকোয়েস্ট পাঠিয়েছে এবং একটি সময়সীমা পরে আবার চেষ্টা করা উচিত।
5. 5xx (Server Error Codes):
500 Internal Server Error:
- নির্দেশ করে যে সার্ভারে কিছু সমস্যা হয়েছে এবং এটি রিকোয়েস্ট প্রক্রিয়া করতে অক্ষম।
- উদাহরণ: সার্ভার-সাইড কোডে ত্রুটি থাকলে এই কোড দেখা যায়।
502 Bad Gateway:
- নির্দেশ করে যে সার্ভারটি একটি ব্যাকএন্ড সার্ভার থেকে ভুল রেসপন্স পেয়েছে।
503 Service Unavailable:
- নির্দেশ করে যে সার্ভার বর্তমানে অপ্রাপ্য, যেমন সার্ভার ডাউন বা মেইনটেনেন্সে রয়েছে।
504 Gateway Timeout:
- নির্দেশ করে যে সার্ভার একটি নির্দিষ্ট সময়ের মধ্যে ব্যাকএন্ড সার্ভার থেকে রেসপন্স পায়নি।
HTTP Status Codes ব্যবহারের নিয়ম:
সঠিক স্ট্যাটাস কোড ব্যবহার করুন:
- রিকোয়েস্ট সফল হলে
200 OK
ব্যবহার করুন। - নতুন রিসোর্স তৈরি হলে
201 Created
ব্যবহার করুন। - ক্লায়েন্টের ভুল হলে
400
ক্যাটেগরির কোড ব্যবহার করুন এবং সার্ভারের সমস্যা হলে 500
ক্যাটেগরির কোড ব্যবহার করুন।
Redirection কোড সঠিকভাবে সেট করুন:
- রিসোর্স স্থায়ীভাবে স্থানান্তরিত হলে
301 Moved Permanently
এবং অস্থায়ী স্থানান্তর হলে 302 Found
ব্যবহার করুন।
Error Management এর জন্য সঠিক কোড ব্যবহার করুন:
404 Not Found
এবং 500 Internal Server Error
কোড ব্যবহার করে ক্লায়েন্টকে সঠিক ত্রুটি সম্পর্কে জানানো উচিত, যাতে তারা পরবর্তী পদক্ষেপ নিতে পারে।
সারসংক্ষেপ:
HTTP Status Codes হলো সার্ভার এবং ক্লায়েন্টের মধ্যে যোগাযোগের একটি উপায়, যা রিকোয়েস্টের সফলতা বা ত্রুটি নির্দেশ করে। এই স্ট্যাটাস কোডগুলো সঠিকভাবে ব্যবহার করলে ওয়েব অ্যাপ্লিকেশন ডেভেলপাররা ত্রুটি ম্যানেজমেন্ট এবং রিকোয়েস্ট হ্যান্ডলিং আরও কার্যকরভাবে করতে পারেন।