মনে করুন, আপনি আপনার বন্ধুর বাড়িতে ভুরিভোজে যাবেন। একা যাবেন না, সাথে নিউলি ম্যারিড ওয়াইফকেও নিয়ে যাবেন। তো গিয়ে কলিংবেল বাজালেন, বেচারা বন্ধু দরজা একটুখানি ফাঁক করল। তারপর আপনার চাঁদ মুখখানা দেখতেই দড়াম করে মুখের ওপর দরজা বন্ধ করে দিল!
নতুন বউয়ের সামনে ইজ্জতের ফালুদা! এটা কি ঠিক হলো? 😐 একদম না — পত্রপাঠ বিদায়ের কারণটা তো অন্তত বলা উচিত।
ভাগ্যিস IANA (Internet Assigned Numbers Authority) আছে। নইলে কোনো সাইট ভিজিট করতে গিয়ে আমাদেরও এরকম বিনা নোটিশে পরোক্ষ 'গেট লস্ট'-এর সামনে পড়তে হতো।
আমরা যখন ক্লায়েন্ট হিসেবে কোনো সার্ভারে দাওয়াত খেতে যাই তখন সার্ভার যে রেসপন্স করে সেটাই হলো HTTP Status Code। আর ওই IANA-এর কাজই হলো এটার রেজিস্ট্রি দেখা।
স্ট্যাটাস কোডের রেসপন্সের ওপর ভিত্তি করে তাকে ৫ ভাগে ভাগ করা হয়েছে। আর কোডের আছে দুটো অংশ — প্রথম ডিজিট দিয়ে কোন ধরনের রেসপন্স সেই ক্লাস বোঝায়, আর দ্বিতীয় ও তৃতীয়টা দিয়ে তেমন কিছুই বোঝায় না। 😪
৫টা ক্লাস কী কী?
ইনফরমেশনাল রেসপন্স দিয়ে বোঝায় সার্ভার রিকোয়েস্ট রিসিভ করেছে, পুরোদস্তুর বুঝতেও পেরেছে। কিন্তু কোনো কারণে এটার প্রগ্রেস পুরো শেষ হয়নি। কোনো সমস্যা না — জাস্ট একটা এক্সট্রা ইনফরমেশন: Everything so far is OK.
এইটা হলো জলপাই পাতার মতো সবচেয়ে শান্তিপূর্ণ রেসপন্স। রিকোয়েস্ট রিসিভড, আন্ডারস্টুড এন্ড অ্যাক্সেপ্টেড! নরমালি সাইট ভিজিটিংয়ের ক্ষেত্রে এটাই হয়। সো চিল!
আপাতত সবকিছুই ঠিক আছে। তবে খালাবাড়ি যাওয়ার পর আপনাকে সহ প্যাক করে নানাবাড়ি যাওয়ার মতো অবস্থা সৃষ্টি হওয়ার সমূহ সম্ভাবনা। একটা সাইট থেকে যে আরেকটা সাইটে রিডিরেক্ট — এটাই সেই কালপ্রিট।
ক্লায়েন্ট এররের ক্ষেত্রে যত প্রকার অপকর্ম সাধিত হইয়াছে সবকিছুতে শুধু আপনারই অবদান থাকিবে। সার্ভার আঙ্কেলের এখানে কোনো দোষ নেই। এটা হতে পারে রং ইউআরএলের কারণে কিংবা অ্যাক্সেস নিয়ে জটিলতার কারণে।
এই ক্ষেত্রে সব দায়ভার সার্ভারের ওপরই ন্যস্ত। হয় সে জানে যে তার পেটে কোনো গন্ডগোল হয়েছে, নয়তো সে রিকোয়েস্ট ফুলফিল করার ক্ষ্যামতাই রাখে না। এটা পারমানেন্ট বা টেম্পোরারি — দুরকমই হতে পারে।
১ থেকে ৩ পর্যন্ত রেসপন্সে কোনো সমস্যা হয় না — এগুলোর কাহিনি আমরা ঘূর্ণাক্ষরে টেরও পাই না। সমস্যা দেখা দেয় ৪ আর ৫-এর ক্ষেত্রে।
কমন স্ট্যাটাস কোডগুলো
নাম দেখেই বোঝা যাচ্ছে চালিয়ে যেতে হবে। সবকিছু ঠিক আছে — রিসিভড এন্ড আন্ডারস্টুড। ক্যানসেল না করে জাস্ট গো অন।
OK means Objection Killed! So, everything is okay, na? Yep. 😌 আমরা প্রতিদিন হাজারবার সাইট ভিজিটের সময় যে রেসপন্সের সম্মুখীন হই এটাই সেটা।
বহুনির্বাচনী প্রশ্নের কথা মনে পড়ল? 🤔 না, এটা সেটা না। ৩xx ক্লাসের কাজ ছিল রিডিরেক্ট করা — এটা মাল্টিপল চয়েসের মাধ্যমে রিডিরেক্ট করে। উদাহরণ? ভিডিও ডাউনলোডে যে বিভিন্ন ফরম্যাট চুজ করার অপশন দেয়, সেটা।
যে রিসোর্স চাওয়া হয়েছে সেটা পারমানেন্টলি সরিয়ে নেওয়া হয়েছে। রেসপন্স হিসেবে নতুন ইউআরএল দেওয়া হয়।
খারাপ অনুরোধ! বড়ো ফাইল আপলোড করলে যেটা সাইট প্রপারলি হ্যান্ডেল করতে পারছে না, ইনভ্যালিড কুকিজ ইউজ করলে, কিংবা ডোমেইনের পরের অংশে সমস্যা থাকলে এটা দেখায়।
রিসোর্স রিকোয়েস্টের ক্ষেত্রে অথেন্টিকেট করতে যখন ফেইল হয় কিংবা সেটা করাই হয় না তখন দেখায়। অথেন্টিকেট বলতে ইউজারনেম, পাসওয়ার্ড দিয়ে নিজের পরিচয় প্রতিষ্ঠা করা। 😇
নিষিদ্ধ মিনস নিষিদ্ধ! 401-এর সাথে পার্থক্য হলো — ওইটাতে অথেন্টিকেট করলে অ্যাক্সেস পাওয়া যায়, এইটায় হাতে-পায়ে ধরলেও পাওয়া যায় না। 😪 কী নিষ্ঠুর!
ইন্টারনেটে সবচেয়ে কমন এরর। ইউআরএলে ভুল থাকলে এটা দেখায়। প্রায়ই যে বলা হয় ব্রোকেন লিঙ্ক, ডেড লিঙ্ক — এই হলো তার মূল হোতা। তবে 403-এর ফরবিডেন সাইট যদি নিজের অস্তিত্ব লুকিয়ে রাখতে চায় তখন গিরগিটির মতো রং বদলে এটা শো করে।
যখন সার্ভার টি পট থেকে চা দিতে চায় না তখন এই এরর দেখায়! 😶
যখন সার্ভারে অভ্যন্তরীণ কোনো সমস্যা দেখা দেয় তখন এই এরর শো করে। এই অবস্থায় থার্ড পার্টি প্লাগ-ইনের সাহায্য ছাড়া বেচারা রেসপন্স করতে পারে না।
For curious minds
- MDN Web Docs — HTTP Status Codes
- Wikipedia — List of HTTP Status Codes
- Kinsta — HTTP Status Codes Explained
- httpstatuses.com