মনে করুন, আপনি আপনার বন্ধুর বাড়িতে ভুরিভোজে যাবেন। একা যাবেন না, সাথে নিউলি ম্যারিড ওয়াইফকেও নিয়ে যাবেন। তো গিয়ে কলিংবেল বাজালেন, বেচারা বন্ধু দরজা একটুখানি ফাঁক করল। তারপর আপনার চাঁদ মুখখানা দেখতেই দড়াম করে মুখের ওপর দরজা বন্ধ করে দিল!
নতুন বউয়ের সামনে ইজ্জতের ফালুদা!
এটা কি ঠিক হলো?
একদম না, পত্রপাঠ বিদায়ের কারণটা তো অন্তত বলা উচিত।
ভাগ্যিস RFC আর WWE Consortium আছে। নইলে কোনো সাইট ভিজিট করতে গিয়ে আমাদেরও এরকম বিনা নোটিশে পরোক্ষ 'গেট লস্ট' এর সামনে পড়তে হতো।
আমরা যখন ক্লায়েন্ট হিসেবে কোনো সার্ভারে দাওয়াত খেতে যাই তখন সার্ভার যে রেসপন্স করে সেটাই হলো HTTP Status Code। (আর ওই RFC আর WWE Consortium এর কাজই হলো এইটার খেয়াল রাখা। )
স্ট্যাটাস কোডের রেসপন্সের ওপর ভিত্তি করে তাকে ৫ ভাগে ভাগ করা হয়েছে।
আর কোডের আছে দুইটা অংশ। প্রথম ডিজিট দিয়ে কোন ধরনের রেসপন্স সেই ক্লাস বোঝায় আর দ্বিতীয় আর তৃতীয়টা দিয়ে তেমন কিছুই বোঝায় না।
দেখা যাক সেই ৫ টা ক্লাস কী কী,
(১) **1xx Informational**
নতুন বউয়ের সামনে ইজ্জতের ফালুদা!
এটা কি ঠিক হলো?
একদম না, পত্রপাঠ বিদায়ের কারণটা তো অন্তত বলা উচিত।
ভাগ্যিস RFC আর WWE Consortium আছে। নইলে কোনো সাইট ভিজিট করতে গিয়ে আমাদেরও এরকম বিনা নোটিশে পরোক্ষ 'গেট লস্ট' এর সামনে পড়তে হতো।
আমরা যখন ক্লায়েন্ট হিসেবে কোনো সার্ভারে দাওয়াত খেতে যাই তখন সার্ভার যে রেসপন্স করে সেটাই হলো HTTP Status Code। (আর ওই RFC আর WWE Consortium এর কাজই হলো এইটার খেয়াল রাখা। )
স্ট্যাটাস কোডের রেসপন্সের ওপর ভিত্তি করে তাকে ৫ ভাগে ভাগ করা হয়েছে।
আর কোডের আছে দুইটা অংশ। প্রথম ডিজিট দিয়ে কোন ধরনের রেসপন্স সেই ক্লাস বোঝায় আর দ্বিতীয় আর তৃতীয়টা দিয়ে তেমন কিছুই বোঝায় না।
দেখা যাক সেই ৫ টা ক্লাস কী কী,
(১) **1xx Informational**
ইনফরমেশনাল রেসপন্স দিয়ে বোঝায় সার্ভার রিকোয়েস্ট রিসিভ করেছে, পুরোদস্তুর বুঝতেও পেরেছে। কিন্তু কোনো কারণে এটার প্রগ্রেস পুরো শেষ হয়নি। এইটা কোনো সমস্যা না, জাস্ট একটা এক্সট্রা ইনফরমেশন যে, Everything so far is OK.
(২) **2xx Successful**
(২) **2xx Successful**
এইটা হলো জলপাই পাতার মতো সবচেয়ে শান্তিপূর্ণ রেসপন্স। রিকোয়েস্ট রিসিভড, আন্ডারস্টুড এন্ড অ্যাক্সেপ্টেড!
নরমালি সাইট ভিজিটিং এর ক্ষেত্রে এটাই হয়। সো চিল!
(৩) **3xx Redirection**
নরমালি সাইট ভিজিটিং এর ক্ষেত্রে এটাই হয়। সো চিল!
(৩) **3xx Redirection**
আপাতত সবকিছুই ঠিক আছে। তবে খালাবাড়ি যাওয়ার পর আপনাকে সহ প্যাক করে নানাবাড়ি যাওয়ার মতো অবস্থা সৃষ্টি হওয়ার সমূহ সম্ভাবনা তৈরি হয়। একটা সাইট থেকে যে আরেকটা সাইটে রিডিরেক্ট এটাই সেই কালপ্রিট।
১ থেকে ৩ পর্যন্ত রেসপন্সে কোনো সমস্যা হয় না। এগুলোর কাহিনি আমরা ঘূর্ণাক্ষরে টেরও পাই না। সব যেন আমাদের বাম কানের পাশ দিয়ে সাই করে উড়ে যায়। সমস্যা দেখা দেয় ৪ আর ৫ এর ক্ষেত্রে। সব তীর একেবারে কপালে এসে ভেদে। কীভাবে?
চলুন, দেখা যাক।
(৪) **4xx Client Error**
১ থেকে ৩ পর্যন্ত রেসপন্সে কোনো সমস্যা হয় না। এগুলোর কাহিনি আমরা ঘূর্ণাক্ষরে টেরও পাই না। সব যেন আমাদের বাম কানের পাশ দিয়ে সাই করে উড়ে যায়। সমস্যা দেখা দেয় ৪ আর ৫ এর ক্ষেত্রে। সব তীর একেবারে কপালে এসে ভেদে। কীভাবে?
চলুন, দেখা যাক।
(৪) **4xx Client Error**
ক্লায়েন্ট এররের ক্ষেত্রে যত প্রকার অপকর্ম সাধিত হইয়াছে সবকিছুতে শুধু আপনারই অবদান থাকিবে। সার্ভার আঙ্কেলের এখানে কোনো দোষ নেই। এটা হতে পারে রং ইউ আর এল এর কারণে কিংবা অ্যাক্সেস নিয়ে জটিলতর জটিলতার কারণে।
(৫) **5xx Server Error**
(৫) **5xx Server Error**
এই ক্ষেত্রে সব দায়ভার সার্ভারের ওপরই ন্যস্ত। হয় সে জানে যে তার পেটে কোনো গন্ডগোল হয়েছে নয়তো সে রিকোয়েস্ট ফুলফিল করার ক্ষ্যামতাই রাখে না। এটা পারমানেন্ট, টেম্পোরারি দুরকমই হতে পারে।
কয়েকটা কমন স্ট্যাটাস কোড দেখা যাক।
**100-Continue* *
নাম দেখেই বোঝা যাচ্ছে যে চালিয়ে যেতে হবে।
সবকিছু ঠিক আছে। রিসিভড এন্ড আন্ডারস্টুড। ক্যানসেল না করে জাস্ট প্লে অন, থুক্কু গো অন।
**200 OK**
OK means Objection Killed! So, everything is okay, na?
Yep.
আমরা প্রতিদিন হাজারবার সাইট ভিজিটের সময় যে রেসপন্সের সম্মুখীন হই এটাই সেটা। এভরিথিং ইজ পারফেক্ট!
**300 Multiple Choice**
বহুনির্বাচনী প্রশ্নের কথা মনে পড়ল?
না, এটা কিন্তু সেটা না। ৩ নাম্বার ক্লাসের কথা মনে আছে?
ওদের কাজ ছিল রিডিরেক্ট করা, এটা মাল্টিপল চয়জের মাধ্যমে রিডিরেক্ট করে। উদাহরণ? ভিডিও ডাউনলোডে যে বিভিন্ন ফরম্যাট চুজ করার অপশন দেয়, সেটা।
**301 Moved Permanently**
এই ক্ষেত্রে যে রিসোর্স চাওয়া হয়েছে সেটা পারমানেন্টলি সরিয়ে নেওয়া হয়েছে। রেসপন্স হিসেবে নতুন ইউ আর এল দেওয়া হয়।
**400 Bad Request**
খারাপ অনুরোধ!
এটা বিভিন্ন কারণে হতে পারে। যদি বড়ো ফাইল আপলোড করা হয় যেটা সাইট প্রপারলি হ্যান্ডেল করতে পারছে না তখন হয়। তাছাড়া ইনভ্যালিড কুকিজ ইউজ করলেও হয়।
কিছু ক্ষেত্রে ডোমেইনের পরের অংশে সমস্যা থাকলেও এইটা দেখায়।
**401 Unauthorized**
রিসোর্স রিকোয়েস্টের ক্ষেত্রে অথেন্টিকেট করতে যখন ফেইল হয় কিংবা সেটা করাই হয় না তখন দেখায়।
অথেন্টিকেট বলতে ইউজার নেম, পাসওয়ার্ড দিয়ে নিজের পরিচয় প্রতিষ্ঠা করা।
**403 Forbidden**
নিষিদ্ধ মিনস নিষিদ্ধ!
401 এর সাথে এটার পার্থক্য হলো ওইটাতে অথেন্টিকেট করলে অ্যাক্সেস পাওয়া যায় এইটায় সেটা হাতে পায়ে ধরলেও পাওয়া যায় না!
কী নিষ্ঠুর!
**404 Not Found**
এইটা ইন্টারনেটে সবচেয়ে কমন এরর। যখন ইউ আর এল এ ভুল থাকে তখন এটা দেখায়। সবাই-ই কখনো না কখনো এটা ফেইস করেছেন বলা যায়। প্রায়ই যে বলা হয় ব্রোকেন লিঙ্ক, ডেড লিঙ্ক এই হলো সেটার মূল হোতা।
তবে 403 এর ফরবিডেন সাইট যদি নিজের অস্তিত্ব লুকিয়ে রাখতে চায় তখন তখন গিরগিটির মতো রং বদলে এটা শো করে।
**418 I'm a teapot**
যখন সার্ভার টি পট থেকে চা দিতে চায় না তখন এই এরর দেখায়!
**500 Internal Server Error**
যখন সার্ভারে অভ্যন্তরীন কোনো সমস্যা দেখা দেয় তখন এই এরর শো করে। এই অবস্থায় থার্ড পার্টি প্লাগ-ইনের সাহায্য ছাড়া বেচারা রেসপন্স করতে পারে না।
Soon you'll get better: https:// youtu.be/ tMoW5G5LU08
References and further readings:
(1)
https:// developer.mozill a.org/en-US/ docs/Web/HTTP/ Status
(2) https:// en.m.wikipedia.o rg/wiki/ List_of_HTTP_sta tus_codes
(3) https:// kinsta.com/blog/ http-status-code s/
(4) [https:// httpstatuses.com /](https:// httpstatuses.com /)
Image Credit: Elegant Themes
কয়েকটা কমন স্ট্যাটাস কোড দেখা যাক।
**100-Continue*
নাম দেখেই বোঝা যাচ্ছে যে চালিয়ে যেতে হবে।
সবকিছু ঠিক আছে। রিসিভড এন্ড আন্ডারস্টুড। ক্যানসেল না করে জাস্ট প্লে অন, থুক্কু গো অন।
**200 OK**
OK means Objection Killed! So, everything is okay, na?
Yep.
আমরা প্রতিদিন হাজারবার সাইট ভিজিটের সময় যে রেসপন্সের সম্মুখীন হই এটাই সেটা। এভরিথিং ইজ পারফেক্ট!
**300 Multiple Choice**
বহুনির্বাচনী প্রশ্নের কথা মনে পড়ল?
না, এটা কিন্তু সেটা না। ৩ নাম্বার ক্লাসের কথা মনে আছে?
ওদের কাজ ছিল রিডিরেক্ট করা, এটা মাল্টিপল চয়জের মাধ্যমে রিডিরেক্ট করে। উদাহরণ? ভিডিও ডাউনলোডে যে বিভিন্ন ফরম্যাট চুজ করার অপশন দেয়, সেটা।
**301 Moved Permanently**
এই ক্ষেত্রে যে রিসোর্স চাওয়া হয়েছে সেটা পারমানেন্টলি সরিয়ে নেওয়া হয়েছে। রেসপন্স হিসেবে নতুন ইউ আর এল দেওয়া হয়।
**400 Bad Request**
খারাপ অনুরোধ!
এটা বিভিন্ন কারণে হতে পারে। যদি বড়ো ফাইল আপলোড করা হয় যেটা সাইট প্রপারলি হ্যান্ডেল করতে পারছে না তখন হয়। তাছাড়া ইনভ্যালিড কুকিজ ইউজ করলেও হয়।
কিছু ক্ষেত্রে ডোমেইনের পরের অংশে সমস্যা থাকলেও এইটা দেখায়।
**401 Unauthorized**
রিসোর্স রিকোয়েস্টের ক্ষেত্রে অথেন্টিকেট করতে যখন ফেইল হয় কিংবা সেটা করাই হয় না তখন দেখায়।
অথেন্টিকেট বলতে ইউজার নেম, পাসওয়ার্ড দিয়ে নিজের পরিচয় প্রতিষ্ঠা করা।
**403 Forbidden**
নিষিদ্ধ মিনস নিষিদ্ধ!
401 এর সাথে এটার পার্থক্য হলো ওইটাতে অথেন্টিকেট করলে অ্যাক্সেস পাওয়া যায় এইটায় সেটা হাতে পায়ে ধরলেও পাওয়া যায় না!
কী নিষ্ঠুর!
**404 Not Found**
এইটা ইন্টারনেটে সবচেয়ে কমন এরর। যখন ইউ আর এল এ ভুল থাকে তখন এটা দেখায়। সবাই-ই কখনো না কখনো এটা ফেইস করেছেন বলা যায়। প্রায়ই যে বলা হয় ব্রোকেন লিঙ্ক, ডেড লিঙ্ক এই হলো সেটার মূল হোতা।
তবে 403 এর ফরবিডেন সাইট যদি নিজের অস্তিত্ব লুকিয়ে রাখতে চায় তখন তখন গিরগিটির মতো রং বদলে এটা শো করে।
**418 I'm a teapot**
যখন সার্ভার টি পট থেকে চা দিতে চায় না তখন এই এরর দেখায়!
**500 Internal Server Error**
যখন সার্ভারে অভ্যন্তরীন কোনো সমস্যা দেখা দেয় তখন এই এরর শো করে। এই অবস্থায় থার্ড পার্টি প্লাগ-ইনের সাহায্য ছাড়া বেচারা রেসপন্স করতে পারে না।
Soon you'll get better: https://
References and further readings:
(1)
https://
(2) https://
(3) https://
(4) [https://
Image Credit: Elegant Themes
Writer: Mustofa Kamal Jabed
Tags:
Technology