আপনি অবশ্যই জানেন, ইন্টারনেটের মধ্যে দুই প্রকারের কম্পিউটার থাকে —একটি ক্লায়েন্ট এবং আরেকটি সার্ভার। ক্লায়েন্ট কম্পিউটার হলো আপনার আমার পার্সোনাল কম্পিউটার, যে কম্পিউটার ব্যবহার করে আমরা ইন্টারনেট ব্যবহার করি, ফেসবুক ব্রাউজিং করি বা আপনি ওয়্যারবিডি থেকে আর্টিকেল পড়েন। আর সার্ভার হলো ঐ কম্পিউটার গুলো, যেগুলো ক্লায়েন্ট কম্পিউটারে পেজ সরবরাহ করে, ফাইল সরবরাহ করে। ইন্টারনেট নিয়ে লেখা বিস্তারিত আর্টিকেলে আমি সম্পূর্ণ বিষয়টি চমৎকার ভাবে বর্ণিত করেছি! যাই হোক, যদি আপনি ইন্টারনেট ব্যবহার করে থাকেন, অবশ্যই এইচটিটিপি (HTTP) সম্পর্কে জানেন, কিংবা অন্তত এটি লেখা থাকতে দেখেছেন, কেনোনা প্রত্যেকটা ওয়েব অ্যাড্রেসের পূর্বে অবশ্যই এইচটিটিপি থাকতেই হয়। যখন আপনি কোন ওয়েবসাইট ভিজিট করেন, ক্লায়েন্ট অ্যাপ্লিকেশন (ওয়েব ব্রাউজার) এইচটিটিপি নেটওয়ার্ক প্রোটোকল ব্যবহার করে সার্ভারের সাথে কানেকশন তৈরি করে।
একই প্রোটোকল ব্যবহার করে সার্ভার থেকে ক্লায়েন্ট পর্যন্ত রেসপন্স ডাটা, কনটেন্ট যেমন- ওয়েব পেজ এবং কিছু প্রোটোকল ইনফরমেশন পাঠিয়ে দেওয়া হয়। প্রত্যেকটি এইচটিটিপি রিকয়েস্টের রেসপন্সের সাথে একটি কোড নাম্বার পাঠিয়ে দেওয়া হয়, যেটা রেসপন্সের রেজাল্ট বর্ণনা করে। এই রেজাল্ট কোড গুলো বিশেষ করে তিন ডিজিট নাম্বারে হয়ে থাকে এবং এদের বিভিন্ন ক্যাটেগরি রয়েছে। যদিও প্রত্যেকটি রেজাল্ট কোড ব্রাউজার আপনাকে প্রদর্শিত করে না, তবে আমি নিশ্চিত এর মধ্যে কিছু কোড আপনি অবশ্যই দেখে থাকবেন, যেমন- ৪০৪ এরর (এর মানে পেজটি খুঁজে পাওয়া যায়নি), এছাড়াও আরো এরর কোড রয়েছে, যেগুলোর তালিকা আমি নিচে প্রকাশ করলাম এবং কোড গুলোকে ব্যাখ্যা করলাম;
১. কোড ১০০-১৯৯ ; ইনফরমেশন্যাল স্ট্যাটাস
২. কোড ২০০-২৯৯ ; সাকসেস স্ট্যাটাস
৩. কোড ৩০০-৩৯৯ ; রিডাইরেকশন স্ট্যাটাস
৪. কোড ৪০০-৪৯৯ ; ক্লায়েন্ট এরর
৫. কোড ৫০০-৫৯৯ ; সার্ভার এরর
তো আপনি দেখতেই পাচ্ছেন এরর কোডের রেঞ্জ কতো গুলো, কিন্তু এদের মধ্যে মাত্র কিছু কোডই সাধারণত দেখতে পাওয়া যায়। পেজ লোড করার সময় ক্লায়েন্টে একসাথে অনেক এরর কোড আসতে পারে, কিন্তু সেগুলো ইউজারের কাছে হাইড রাখা হয়, যাই হোক, নিচের ব্যাখ্যা গুলো দেখুন!
এই আর্টিকেলের বিষয়বস্তু সমূহ
HTTP 200 “OK”
প্রত্যেকটি সফল ট্রান্সমিশনের সময় সার্ভার থেকে ব্রাউজারের কাছে এইচটিটিপি ২০০ কোড সেন্ড করা হয়। এর মানে হচ্ছে ব্রাউজার থেকে যে যে কনটেন্টের জন্য সার্ভারের কাছে রিকোয়েস্ট করা হয়েছে, প্রত্যেকটি কনটেন্ট সফলভাবে সার্ভার থেকে পাঠিয়ে দেওয়া হয়েছে। এই ২০০ কোডটি কোন পেজ লোড করার প্রথমেই ব্রাউজার লোড করে, কিন্তু আপনাকে দেখানো হয় না। আপনি এই পেজটি সফলভাবে লড করে পড়তে পাড়ছেন, এর অর্থ হচ্ছে অবশ্যই সার্ভার থেকে আপনার ব্রাউজারে ২০০ কোড পাঠানো হয়েছে।
২০০ কোডের পাশাপাশি আরো কিছু কোড রয়েছে, যেমন ২০১ কোড মানে হচ্ছে রিকোয়েস্টি সফল হয়েছে এবং নতুন পেজ ক্রিয়েট করা হয়েছে। ২০২ কোডের অর্থ হচ্ছে সার্ভার ক্লায়েন্ট থেকে রিকোয়েস্টটি গ্রহন করেছে এবং রিকোয়েস্টটি বুঝতে পেড়েছে। ২০৪ কোডের মানে হচ্ছে রিকোয়েস্টটি সফল হয়েছে, কিন্তু কোন ডাটা ব্যাক করার প্রয়োজন নেই। ২০৫ মানে হচ্ছে রিসেট রিকোয়েস্ট, যেমন ধরুন ব্রাউজারে কোন ফর্ম পূরণ করা রয়েছে, এখন ২০৫ রিকোয়েস্ট আসলে, ব্রাউজার সেই ফর্ম ডাটা রিসেট করে নেবে। যখন কোন ওয়েব পেজ ক্যাশিং সিস্টেম ব্যবহার করে, তখন শুধু মাত্র ওয়েব ব্রাউজার থেকে কোন পেজের কিছু নির্দিষ্ট অংশ রিকোয়েস্ট করা হয়, আর সার্ভার থেকে শুধু ঐ অংশেরই ডাটা রিসিভ হয়, বাকী পেজ কনটেন্ট ক্যাশ থেকে লোড হয়। নির্দিষ্ট কিছু অংশ লোড করার সময় ২০৬ কোড পাঠিয়ে দেওয়া হয়।
HTTP Error 404 “Not Found”
৪০৪ এরর কোডের অর্থ হচ্ছে, ক্লায়েন্ট থেকে আসা রিকোয়েস্টের ভিত্তিতে ওয়েব সার্ভার সেই রিকোয়েস্ট করা পেজটি, ফাইল, বা আলাদা কনটেন্ট খুঁজে পায় নি। তবে ৪০০ এরর মানে কিন্তু ক্লায়েন্ট এবং সার্ভারের মধ্যে নেটওয়ার্ক কানেকশন ঠিক ছিল, কানেকশন সফল হয়েছে, ব্যাট পেজটি সার্ভারে নেই! এই এরর তখন দেখা যায়, যখন আপনি ব্রাউজারে ভুল ইউআরএল প্রবেশ করান, অথবা সাইট অ্যাডমিন সার্ভার থেকে পেজটি ডিলিট করে দেয়, কিংবা পেজটি আলাদা কোন ইউআরএল এ ট্র্যান্সফার করে নিয়ে যায়, কিন্তু রিডাইরেকশন ব্যবহার করেনা। ইউজারকে এই প্রবলেম ফিক্স করার জন্য অবশ্যই ইউআরএল পরিবর্তন করতে হবে।
এছাড়াও কিছু কমন এরর কোড হচ্ছে, ৪০০, ৪০১, ৪০৩; এখানে ৪০০ হচ্ছে ব্যাড রিকোয়েস্ট। ক্লায়েন্ট থেকে প্রোটোকল ডাটাতে এরর থাকলে সার্ভার এই কোড সেন্ড করে। অনেক সময় আপনার ইন্টারনেট সমস্যার জন্য সার্ভারের কাছে ব্রাউজার থেকে ঠিকঠাক মতো রিকোয়েস্ট সেন্ড হতে পারে না, কিংবা ডাটা করাপ্টেড হয়ে যায়, তখন ৪০০ রেসপন্স কোড সেন্ড করা হয়। আবার রিকোয়েস্টে ব্যাড সাইনট্যাক্স কোড থাকলেও ৪০০ এরর আসতে পারে। ৪০১ হচ্ছে আনঅথরাইজড এরর কোড; এখানে ব্রাউজার সার্ভারের কাছে এমন কোন রিসোর্সের রিকোয়েস্ট করে, যেটা সার্ভারে হয়তো রয়েছে, কিন্তু সেটা অ্যাক্সেস করার জন্য পারমিশন নেই। অবশ্যই প্রথমে ক্লায়েন্ট থেকে সার্ভারে লগইন করতে হবে বা ভ্যালিড ইউজার নেম এবং পাসওয়ার্ড প্রবেশ করাতে হবে, তবেই রিসোর্সটি অ্যাক্সেস করা সম্ভব হবে।
যদি ইউজারনেম বা পাসওয়ার্ড ভুল হয়, এবং সেই ভুল ক্রেডিনশিয়াল নিয়েই ক্লায়েন্ট সার্ভারের কাছে রিসোর্স রিকোয়েস্ট করে, সেক্ষেত্রে ৪০৩ ফরবিডেন এরর কোড সেন্ড করা হয়। অথবা কোনভাবেই রিসোর্টটি অ্যাক্সেস করার পারমিশন নেই ক্লায়েন্টের, সেক্ষেত্রেও ৪০৩ এরর কোড সেন্ড করা হয়।
HTTP Error 500 “Internal Server Error”
যখন ওয়েব সার্ভার ক্লায়েন্ট থেকে ভ্যালিড রিকোয়েস্ট গ্রহন করে কিন্তু সেটাকে প্রসেস করতে পারে না, তখন ৫০০ এরর কোড প্রদর্শিত হয়ে থাকে। এটা সম্পূর্ণই সার্ভারের দিকের সমস্যা, হতে পারে সাভারের প্রসেস, র্যাম, বা স্টোরেজের সমস্যা হয়েছে যার জন্য রিকোয়েস্ট’টি বর্তমানে হ্যান্ডেল করতে পাড়ছে না। যখন সাইট বা সার্ভার অ্যাডমিন এই প্রবলেম ফিক্স না করবে, এটা ঠিক হবে না।
যখন ক্লায়েন্ট থেকে আসা রিকোয়েস্ট সার্ভার প্রসেস করতে ব্যর্থ হয়, অনেক সময় ৫০৩ এইচটিটিপি এরর কোড প্রদর্শিত করে। অনেক সময় সার্ভারের সিপিইউ, র্যাম ইউজ করার লিমিট অতিক্রম করার ফলে ৫০৩ এরর কোড সেন্ড করা হয়। এইচটিটিপি ভার্সন সমর্থন না করলে ৫০৫ এরর কোড দেখানো হয়।
HTTP 301 “Moved Permanently”
যখন ক্লায়েন্ট থেকে কোন ইউআরএল রিকোয়েস্ট করা হয়, কিন্তু সেই ইউআরএল সার্ভার রিডাইরেক্ট করে আরেক ইউআরএল থেকে পেজ বা কনটেন্ট সরবরাহ করে, এই সিস্টেমকে এইচটিটিপিএস রিডাইরেক্ট বলা হয়। যেখানে ক্লায়েন্ট নতুন আরেকটি রিকোয়েস্ট তৈরি করে এবং সার্ভারের নতুন লোকেশন থেকে রিসোর্স সরবরাহ করা হয়। ওয়েব ব্রাউজার গুলো স্বয়ংক্রিয়ভাবে ৩০১ রিডাইরেক্ট রিকোয়েস্ট গ্রহন করতে পারে এবং নতুন রিকোয়েস্ট সেন্ড করতে পারে, ইউজারদের কোন অ্যাকশন গ্রহন করার প্রয়োজন পড়ে না!
৩০২ রিডাইরেক্ট কোডও ৩০১ কোডের মতোই, কিন্তু এখানে পার্মানেন্ট কনটেন্ট মুভ না করে টেম্পোরারি রিডাইরেকশন দেখানো হয়। যখন ওয়েবসাইট অ্যাডমিন সাইটের উপর কাজ করে, তখন আন্ডার কন্সট্রাকশন পেজ দেখানোর জন্য ৩০২ রিডাইরেক্ট কোড সেন্ড করা হয়, যেখানে একটি টেম্প পেজ ব্রাউজার লোড করে।
তো এই ছিল কিছু কমন এরর কোড এবং রেসপন্স কোড যেগুলো সম্পর্কে আপনার জানা প্রয়োজন ছিল। নেটওয়ার্কিং এর একেবারে প্রথমের জন্য এই তথ্য গুলো জানা আপনার অনেক বেশি প্রয়োজনীয়। আরো অনেক কোড রয়েছে, কিন্তু উপরের কোড গুলো সবচাইতে বেশি ব্যবহৃত হয়, তাই এগুলো নিয়েই আলোচনা করলাম। আপনি যদি বিশেষ কোন কোড সম্পর্কে বিস্তারিত জানতে চান, অবশ্যই নিচে কমেন্ট করে আমাকে অবগত করুণ!
Images: Shutterstock.com