Back to Blog
Concepts December 2020 5 min read

ERROR!!

HTTP Status Code — সার্ভারের বাড়িতে দাওয়াত!

মনে করুন, আপনি আপনার বন্ধুর বাড়িতে ভুরিভোজে যাবেন। একা যাবেন না, সাথে নিউলি ম্যারিড ওয়াইফকেও নিয়ে যাবেন। তো গিয়ে কলিংবেল বাজালেন, বেচারা বন্ধু দরজা একটুখানি ফাঁক করল। তারপর আপনার চাঁদ মুখখানা দেখতেই দড়াম করে মুখের ওপর দরজা বন্ধ করে দিল!

নতুন বউয়ের সামনে ইজ্জতের ফালুদা! এটা কি ঠিক হলো? 😐 একদম না — পত্রপাঠ বিদায়ের কারণটা তো অন্তত বলা উচিত।

ভাগ্যিস IANA (Internet Assigned Numbers Authority) আছে। নইলে কোনো সাইট ভিজিট করতে গিয়ে আমাদেরও এরকম বিনা নোটিশে পরোক্ষ 'গেট লস্ট'-এর সামনে পড়তে হতো।

আমরা যখন ক্লায়েন্ট হিসেবে কোনো সার্ভারে দাওয়াত খেতে যাই তখন সার্ভার যে রেসপন্স করে সেটাই হলো HTTP Status Code। আর ওই IANA-এর কাজই হলো এটার রেজিস্ট্রি দেখা।

স্ট্যাটাস কোডের রেসপন্সের ওপর ভিত্তি করে তাকে ৫ ভাগে ভাগ করা হয়েছে। আর কোডের আছে দুটো অংশ — প্রথম ডিজিট দিয়ে কোন ধরনের রেসপন্স সেই ক্লাস বোঝায়, আর দ্বিতীয় ও তৃতীয়টা দিয়ে তেমন কিছুই বোঝায় না। 😪

৫টা ক্লাস কী কী?

1xx — Informational

ইনফরমেশনাল রেসপন্স দিয়ে বোঝায় সার্ভার রিকোয়েস্ট রিসিভ করেছে, পুরোদস্তুর বুঝতেও পেরেছে। কিন্তু কোনো কারণে এটার প্রগ্রেস পুরো শেষ হয়নি। কোনো সমস্যা না — জাস্ট একটা এক্সট্রা ইনফরমেশন: Everything so far is OK.

2xx — Successful

এইটা হলো জলপাই পাতার মতো সবচেয়ে শান্তিপূর্ণ রেসপন্স। রিকোয়েস্ট রিসিভড, আন্ডারস্টুড এন্ড অ্যাক্সেপ্টেড! নরমালি সাইট ভিজিটিংয়ের ক্ষেত্রে এটাই হয়। সো চিল!

3xx — Redirection

আপাতত সবকিছুই ঠিক আছে। তবে খালাবাড়ি যাওয়ার পর আপনাকে সহ প্যাক করে নানাবাড়ি যাওয়ার মতো অবস্থা সৃষ্টি হওয়ার সমূহ সম্ভাবনা। একটা সাইট থেকে যে আরেকটা সাইটে রিডিরেক্ট — এটাই সেই কালপ্রিট।

4xx — Client Error

ক্লায়েন্ট এররের ক্ষেত্রে যত প্রকার অপকর্ম সাধিত হইয়াছে সবকিছুতে শুধু আপনারই অবদান থাকিবে। সার্ভার আঙ্কেলের এখানে কোনো দোষ নেই। এটা হতে পারে রং ইউআরএলের কারণে কিংবা অ্যাক্সেস নিয়ে জটিলতার কারণে।

5xx — Server Error

এই ক্ষেত্রে সব দায়ভার সার্ভারের ওপরই ন্যস্ত। হয় সে জানে যে তার পেটে কোনো গন্ডগোল হয়েছে, নয়তো সে রিকোয়েস্ট ফুলফিল করার ক্ষ্যামতাই রাখে না। এটা পারমানেন্ট বা টেম্পোরারি — দুরকমই হতে পারে।

১ থেকে ৩ পর্যন্ত রেসপন্সে কোনো সমস্যা হয় না — এগুলোর কাহিনি আমরা ঘূর্ণাক্ষরে টেরও পাই না। সমস্যা দেখা দেয় ৪ আর ৫-এর ক্ষেত্রে।

কমন স্ট্যাটাস কোডগুলো

100 — Continue

নাম দেখেই বোঝা যাচ্ছে চালিয়ে যেতে হবে। সবকিছু ঠিক আছে — রিসিভড এন্ড আন্ডারস্টুড। ক্যানসেল না করে জাস্ট গো অন।

200 — OK

OK means Objection Killed! So, everything is okay, na? Yep. 😌 আমরা প্রতিদিন হাজারবার সাইট ভিজিটের সময় যে রেসপন্সের সম্মুখীন হই এটাই সেটা।

300 — Multiple Choice

বহুনির্বাচনী প্রশ্নের কথা মনে পড়ল? 🤔 না, এটা সেটা না। ৩xx ক্লাসের কাজ ছিল রিডিরেক্ট করা — এটা মাল্টিপল চয়েসের মাধ্যমে রিডিরেক্ট করে। উদাহরণ? ভিডিও ডাউনলোডে যে বিভিন্ন ফরম্যাট চুজ করার অপশন দেয়, সেটা।

301 — Moved Permanently

যে রিসোর্স চাওয়া হয়েছে সেটা পারমানেন্টলি সরিয়ে নেওয়া হয়েছে। রেসপন্স হিসেবে নতুন ইউআরএল দেওয়া হয়।

400 — Bad Request

খারাপ অনুরোধ! বড়ো ফাইল আপলোড করলে যেটা সাইট প্রপারলি হ্যান্ডেল করতে পারছে না, ইনভ্যালিড কুকিজ ইউজ করলে, কিংবা ডোমেইনের পরের অংশে সমস্যা থাকলে এটা দেখায়।

401 — Unauthorized

রিসোর্স রিকোয়েস্টের ক্ষেত্রে অথেন্টিকেট করতে যখন ফেইল হয় কিংবা সেটা করাই হয় না তখন দেখায়। অথেন্টিকেট বলতে ইউজারনেম, পাসওয়ার্ড দিয়ে নিজের পরিচয় প্রতিষ্ঠা করা। 😇

403 — Forbidden

নিষিদ্ধ মিনস নিষিদ্ধ! 401-এর সাথে পার্থক্য হলো — ওইটাতে অথেন্টিকেট করলে অ্যাক্সেস পাওয়া যায়, এইটায় হাতে-পায়ে ধরলেও পাওয়া যায় না। 😪 কী নিষ্ঠুর!

404 — Not Found

ইন্টারনেটে সবচেয়ে কমন এরর। ইউআরএলে ভুল থাকলে এটা দেখায়। প্রায়ই যে বলা হয় ব্রোকেন লিঙ্ক, ডেড লিঙ্ক — এই হলো তার মূল হোতা। তবে 403-এর ফরবিডেন সাইট যদি নিজের অস্তিত্ব লুকিয়ে রাখতে চায় তখন গিরগিটির মতো রং বদলে এটা শো করে।

418 — I'm a teapot

যখন সার্ভার টি পট থেকে চা দিতে চায় না তখন এই এরর দেখায়! 😶

500 — Internal Server Error

যখন সার্ভারে অভ্যন্তরীণ কোনো সমস্যা দেখা দেয় তখন এই এরর শো করে। এই অবস্থায় থার্ড পার্টি প্লাগ-ইনের সাহায্য ছাড়া বেচারা রেসপন্স করতে পারে না।


For curious minds

Soon you'll get better 🎬