HTTP response status codes

HTTP response status codes

HTTP মেথডসহ যখন কোনো URL- এ ক্লায়েন্ট (browser) রিকোয়েস্ট করে তখন সার্ভার একটি স্ট্যাটাস কোডসহ রেসপন্স পাঠায় । কারণ , এগুলো থেকে ক্লায়েন্ট বুঝতে পারে , সার্ভারের রেসপন্সটি কীভাবে ব্যবহার করবে । HTTP প্রোটোকল এই কোডগুলোকে কতগুলো নির্দিষ্ট নম্বরের পাঁচটি ক্লাসে বিভক্ত করে । বহুল প্রচলিত কিছু স্ট্যাটাস কোড নিয়ে এই পোস্টে আলোচনা করা হবেঃ

Information Responses (1XX)

এই ক্লাসের কোড 100 থেকে 199 পর্যন্ত হয়। সার্ভার যদি 100 রিটার্ন করে তবে এর মানে হলো সব ঠিক আছে, ক্লায়েন্ট চাইলে পরবর্তী request পাঠাতে পারে।

Successful Responses (2XX)

এই ক্লাসের কোড 200 থেকে 299 পর্যন্ত হয়। এই কোডের অর্থ হলো ক্লায়েন্ট যে request করেছে তা ঠিকমতো সম্পন্ন হয়েছে। কয়েকটি কোড সম্পর্কে জানা যাকঃ

  • 200 OK : সার্ভার request গ্রহন করেছে এবং response পাঠিয়েছে। মানে সবকিছু ঠিক আছে।
  • 201 Created : ক্লায়েন্ট নতুন রিসোর্স তৈরি করতে চাইলে POST রিকোয়েস্ট করে, আর রিসোর্সটি তৈরি হলে সার্ভার 201 রিটার্ন করে।
  • 202 Accepted : ক্লায়েন্ট রিকোয়েস্ট করেছে এবং সার্ভার তা গ্রহন করলেও সাথে সাথে সুরু করতে পারছে না। তখন এই কোড রিটার্ন হয়।
  • 204 No Content : যদি সার্ভার রিকোয়েস্ট গ্রহন করে এবং রেস্পন্সে কোনো কিছু না পাঠায় তবে এই কোড রিটার্ন হয়।

Redirects (3XX)

রিকোয়েস্টকে অন্য URL এ পাঠালে 300 থেকে 399 কোডগুলো ব্যাবহার করা হয়। অর্থাৎ, এরকম কোড রেস্পন্স পাওয়া মানে ক্লায়েন্টকে আরেক ধাপ নিতে হবে।

  • 301 Moved Permanently : এর মানে ক্লায়েন্ট যে url এ গিয়েছে সেটা আর নেই, তা নতুন url এ স্থানান্তরিত হয়েছে। তাই সার্ভার নতুন url রিটার্ন করবে।
  • 302 Found : এর মানে ক্লায়েন্ট যে url request করেছে তা এখন নেই তবে ভবিষ্যতে পাওয়া যাবে।

Client Errors (4XX)

এই ক্লাসের কোড 400 থেকে 499 পর্যন্ত হয়। এটি হয় ক্লায়েন্টের এরর এর জন্য। অনেক সময় সার্ভার যদি রিকোয়েস্ট প্রসেস করতে না পারে তবে এরকম কোড রিটার্ন করে।

  • 400 Bad Request : ক্লায়েন্টের রিকোয়েস্টে সিনট্যাক্স ভুল আছে।
  • 403 Forbidden : সার্ভার এই রিকোয়েস্টটি গ্রহন করছে না।
  • 404 Not Found : ক্লায়েন্টের রিসোর্সটি খুঁজে পাওয়া যায় নি।

Server Errors (5XX)

সার্ভারের কোনো এরর এর জন্য 500 to 599 কোড ব্যাবহার করা হয়।

  • 500 Internal Server Error : সার্ভারে কোনো এরর হলে এটি রিটার্ন হয়।
  • 501 Not Implemented : ক্লায়েন্টের রিকোয়েস্টটি সার্ভারের সামর্থ্যের বাইরে।
  • 502 Bad Gateway : অনেক সময় সার্ভার প্রক্সি সার্ভার হিসেবে কাজ করে । ক্লায়েন্টের রিকোয়েস্ট প্রক্সি সার্ভার অন্য একটি সার্ভারে রিলে করে এবং সেই সার্ভারের রেসপন্সটিই ক্লায়েন্টকে রিটার্ন করে। তবে এই প্রক্রিয়ার মধ্যে যদি কোনো সমস্যা হয় , তখন এই কোডটি ব্যবহার করা হয় ।
  • 503 Service Unavailable : কোনো কারণে সাময়িকভাবে সার্ভারটি বন্ধ থাকলে এই কোডটি ব্যবহার করা হয় ।