আসুন জেনেনিই হোস্টিং-এ HTTP Error Code-এর কোনটার কি মানে বিস্তারিত তথ্য!-


HTTP Error একটি পরিচিত বিষয়। ইন্টারনেটে ব্রাউজ করতে করতে আমরা বিভিন্ন সময়ই দেখি 404 Page not found বা 503 Service unavailable এরকম এরর দেখতে পাই। এছাড়াও আরো বিভিন্ন HTTP Success অথবা Error কোড চোখে পড়ে আমাদের। কিন্তু অনেকেই জানেনা বিভিন্ন নাম্বার সম্বলিত সেই কোডগুলো সম্বন্ধে, তাই আজ এই বিষয়ে  সেই কোডগুলো সম্বন্ধেই একটু ধারনা দিতে চেষ্টা করবো।

 

1xx Informational

১ দিয়ে শুরু হওয়া কোডগুলো বোঝায় যে অনুরোধ গৃহিত হয়েছে সার্ভারে, এবং অনুরোধটি প্রসেস করা হচ্ছে।

(শুধু স্টেটাস লাইন ও অপশনাল হেডারের মাধ্যমে এ ধরনের স্টেটাস কোড বিভিন্ন শর্তাধীনে রিস্পন্স করা নির্দেশ করে থাকে। যেহেতু HTTP/1.0 তে 1xx স্টেটাস কোড ব্যবহৃত হয় না, তাই পরীক্ষামূলক কোন পরিস্থিতি ছাড়া সার্ভারের অবশ্যই কোন HTTP/1.0 ক্লায়েন্টের কাছে 1xx রিস্পন্স পাঠানো উচিত হবে না।)

100 continue

এটা দ্বারা বোঝায় যে, সার্ভারে রিকোয়েস্টেড হেডারগুলো গৃহীত হয়েছে, এবং ক্লায়েন্ট রিকোয়েস্টেড বডি প্রেরণ করতে পারে। ভুল হেডারের কারনে সার্ভারে কোন রিকোয়েস্ট ব্যর্থ হলে বড় আকারের রিকোয়েস্টেড বডি সার্ভারে প্রেরন করা বৃথা। শুধু হেডারের ওপর ভিত্তি করে রিকোয়েস্ট গৃহীত হবে কিনা তা জানার জন্য জন্য সার্ভার চেক করতে একজন ক্লায়েন্টকে অবশ্যই হেডারের প্রারম্ভিক রিকোয়েস্ট হিসেবে Expect: 100-continue কোড প্রেরন করতে হবে এবং কাজ শুরু চালানো শুরু আগে, অবশ্যই চেক করে নিতে হবে যে, 100-continue স্টেটাস কোড সার্ভার কতৃক গৃহীত হয়েছে। (যদি সার্ভার রিস্পন্স হিসেবে 417 Expectation Failed কোড সো করে কন্টিনিউ করা উচিত হবে না।)

101 Switching Protocols

এই কোড দ্বারা বোঝায় অনুরোধকারী সার্ভারকে প্রোটোকল সুইচ করতে অনুরোধ করছে এবং সার্ভারও তাতে সাড়া দিয়েছে।

102 Processing (WebDAV) (RFC 2518)

যেহতু একটি WebDAV রিকোয়েস্ট অনেক সাব-রিকোয়েস্ট ধারন করতে পারে তাই এ ধরনের রিকোয়েস্ট সম্পাদন করতে অনেক সময় লাগতে পারে। এ ধরনের কোড বোঝায় যে, সার্ভার কতৃক রিকোয়েস্ট গৃহীত হয়েছে এবং সার্ভার রিকোয়েস্ট প্রসেস করেছে কিন্তু এখন পর্যন্ত কোন রিস্পন্স পাওয়া যাচ্ছে না। এর ফলে ক্লায়েন্ট বুঝতে পারে যে কাজ চলছে এবং তার রিকোয়েস্টটি লস্ট যায়নি।

2xx Success

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

200 OK

এটি একটি সফল HTTP রিকোয়েস্টের আদর্শ রিস্পন্স। প্রকৃত রিস্পন্স সাধারণত রিকোয়েস্টের পদ্ধতির উপর নির্ভর করে। একটি GET রিকোয়েস্টের ক্ষেত্রে, রিস্পন্সের সাথে “অনুরোধকৃত রিসোর্সের সাথে রিকোয়েস্টের একটি এনটিটিও যুক্ত থাকে। POST রিকোয়েস্টের ক্ষেত্রে, রিস্পন্সের সাথে অনুরোধকৃত কাজের ব্যাখ্যা বা ফলাফল যুক্ত থাকে।

201 Created

এই কোডটি বলতে বোঝায় যে, অনুরোধটি গৃহীত হয়েছে যার ফলে একটি নতুন রিসোর্স তৈরি করা হচ্ছে।

202 Accepted

এই কোডটি বলতে বোঝায়, প্রসেসিংয়ের জন্য রিকোয়েস্টটি গৃহীত হয়েছে, কিন্তু প্রসেসিং সম্পাদিত হয়নি।

203 Non-Authoritative Information (since HTTP/1.1)

এই কোডের বলতে বোঝায় সার্ভার সফলতার সাথে রিকোয়েস্ট সম্পাদিত করেছে, কিন্তু এ থেকে যে তথ্য পাওয়া যাচ্ছে তা সম্ভবত অন্য কোন উৎস থেকে আসছে।

204 No Content

এই কোডের বলতে বোঝায় যে সার্ভার সফলতার সাথে অনুরোধ সম্পাদিত করেছে, কিন্তু কোন কন্টেন্টই নাই।

205 Reset Content

এই কোড বলতে বোঝায় সার্ভার সফলতার সাথে অনুরোধ সম্পাদিত করেছে কিন্তু কোন কন্টেন্টই আসছে না। 204 কোডের চেয়ে কিছুটা ভিন্ন এ কোডের ক্ষেত্রে রিস্পন্সটি অনুরোধকারীকে তার ডকুমেন্ট ভিউকে রিসেট করতে বলে।

206 Partial Content

এই কোডটি বলতে বোঝায়  যে ক্লায়েন্টের পাঠানো রেঞ্জ হেডারের কারনে সার্ভার রিসোর্সের মাত্র একটি অংশ প্রেরন করছে। রিজিউম, বাধাগ্রস্থ ডাউনলোড এবং একটি ডাউনলোডকে একইসাথে বহুমুখি স্ট্রীমের মাধ্যমে ভাগ করে ডাউনলোডের ক্ষেত্রে এ কোডটি wget টুলস কর্তৃক ব্যবহৃত হয়ে থাকে।

207 Multi-Status (WebDAV) (RFC 2518)

এই কোড বলতে বোঝায় যে ম্যাসেজের বডিটি একটি XML ম্যাসেজ, যা ভিন্ন ভিন্ন সাব-রিকোয়েস্টের জন্য বিভিন্ন ধরণের রিস্পন্স কোড ধারন করে থাকে।

এই শ্রেনীর কোডের ক্ষেত্রে এটা বলতে বোঝায়  যে রিকোয়েস্ট সম্পাদিত করতে ক্লায়েন্টকে অবশ্যই রিডিরেক্ট হবে।

যদি এবং কেবল যদি দ্বিতীয় রিকোয়েস্টের ক্ষেত্রে GET অথবা HEAD পদ্ধতি ব্যবহার করা হয় তাহলে হয়ত বা ঐ অ্যাকশন ব্যাবহারকারীর সাথে কোন ক্রিয়া-প্রতিক্রিয়া ছাড়াই ব্যবহারকারীর এজেন্টের মাধ্যমে সম্পাদিত হবে। ব্যবহারকারীর এজেন্ট কখনোই কোন রিকোয়েস্টকে পাঁচ মিনিটের বেশি রিডিরেক্ট করতে পারবে না, কারন তখন বুঝা যায় যে হয়তো এ ধরনের রিডিরেকশন একটি অনির্দিষ্ট লুপ বা চক্রের সৃষ্টি করছে।

301 Moved Permanently

এই কোড দ্বারা বলতে বোঝায় এটি এবং ভবিষ্যতের সকল রিকোয়েস্ট প্রদত্ত্ব URL এ ডিরেক্ট করে দেয়া হবে।

302 Found

এটি সবচেয়ে জনপ্রিয় রিডিরেক্ট কোড কিন্তু এটি একটি ইন্ডাস্ট্রিয়াল প্রেকটিস যা স্টেন্ডার্ড নীতির বিরোধী। HTTP/1.0 মতে একজন ক্লায়েন্ট শুধু অস্থায়ী রিডিরেক্ট করতে পারবেন, কিন্তু জনপ্রিয় ব্রাউজার 302 কোড কে 303 see other কোডের মত বাস্তবায়িত করেছে। সেই জন্যেই HTTP/1.1 এ স্টেটাস কোড 303 এবং 307 কে যুক্ত করেছে, যাতে ঐ ভিন্ন দুটি আচরনকে স্বাতন্ত্র্য করা যায়। যাইহোক, এখনো বেশির ভাগ ওয়েব অ্যাপ্লিকেশন এবং ফ্রেমওয়ার্কই 302 স্টেটাস কোডকে এমন ভাবে ব্যবহার করে যেন এটি 303।

303 See Other (since HTTP/1.1)

এই কোডটি বলতে বোঝায় যে অনুরোধের রিস্পন্সটি GET পদ্ধতির সাহায্যে আরেকটি URL থেকে পাওয়া যাবে। যখন PUT এর রিস্পন্স হিসেবে এ ধরনের কোড পাওয়া যাবে, তখন বুঝতে হবে যে, সার্ভার ডাটা রিসিভ করেছে এবং রি-ডিরেক্ট আরেকটি GET ম্যাসেজের মাধ্যমে ইস্যু করতে হবে।

304 Not Modified

এই কোডের মাধ্যম বলতে বোঝায় যে সর্বশেষ রিকোয়েস্টের পর রিসোর্সটিকে আর মডিফাইয়েড করা হয়নি।

305 Use Proxy (since HTTP/1.1)

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

306 Switch Proxy

আর ব্যবহার করা হয় না।

307 Temporary Redirect (since HTTP/1.1)

এই কোডের ক্ষেত্রে অন্যকোন URI এর মাধ্যমে পুনরায় রিকোয়েস্ট করতে হবে। কিন্তু ভবিষ্যতের রিকোয়েস্টগুলো ক্ষেত্রে তারপরেও অরিজিনাল URI ব্যবহার করা যেতে পারে। 303 এর সাথে তুলনা করতে গেলে, এ ক্ষেত্রে রিকোয়েস্ট রি-ইস্যু করার সময় রিকোয়েস্টের পদ্ধতি পরিবর্তন করা যাবে না। উদাহরণস্বরূপ: একটি POST রিকোয়েস্ট অবশ্যই পুনরায় ইস্যু করার সময় আরেকটি POST রিকোয়েস্ট ব্যবহার করতে হবে।

ক্লায়েন্ট কোন ভুল করলে এ শ্রেনীর স্টেটাস কোড ব্যবহৃত হয়। শুধু HEAD রিকোয়েস্ট ছাড়া বাকি সবগুলো রিস্পন্সের সাথেই সার্ভার ভুলের ব্যখ্যা সহ একটা এনটিটি যুক্ত করে দেয় এবং আরো জানিয়ে দেয় এ পরিস্থিতি কি স্থায়ী না অস্থায়ী। যেকোন রিকোয়েস্ট পদ্ধতির ক্ষেত্রেই এ স্টেটাস কোডগুলো প্রযোজ্য। এক্ষেত্রে ব্যবহারকারীর এজেন্ট সকল যুক্ত এনটিটিগুলোকে প্রদর্শিত করে। নিচে সাধারনতো সবচেয়ে বেশি ব্যবহৃত Error কোডগুলো দেয়া হল:

400 Bad Request

এই কোড বলতে বোঝায় যে রিকোয়েস্টে পদবিন্যাসে ভুল রয়েছে।

401 Unauthorized

এটিবলতে বোঝায় 403 Forbidden কোডের অনুরূপ কিন্তু শুধুমাত্র authentication সম্ভব হয়।

402 Payment Required

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

403 Forbidden

এই কোড বলতে যা বোঝায় রিকোয়েস্টটি একটি লিগাল রিকোয়েস্ট ছিল, কিন্তু সার্ভার এ রিকোয়েস্টের জন্য রিস্পন্স করতে অসম্মতি জানাচ্ছে।

404 Not Found

এই কোডের বলতে বোঝায় যে অনুরোধকৃত রিসোর্স বর্তমানে পাওয়া সম্ভব নয়, তবে ভবিষ্যতে পাওয়া যেতে পারে। এর পরবর্তিতে ক্লায়েন্টোর আরো রিকোয়েস্ট করা অনুমোদিত।

405 Method Not Allowed

এই কোড বলতে যা বোঝায় এমন একটি পদ্ধতির সাহায্যে রিসোর্স রিকোয়েস্ট করা হয়েছে যা ঐ রিসোর্স সাপোর্ট করে না। উদাহরনস্বরূপ: যেখানে POST প্রয়োজন সেখানে GET পদ্ধতি ব্যবহার করলে এ স্টেটাস কোডটি প্রদর্শিত করবে।

406 Not Acceptable

এই কোড বলতে বোঝায় যে রিকোয়েস্টেড রিসোর্স শুধু সেই কন্টেন্ট তৈরী করতে সক্ষম যা রিকোয়েস্টের সাথে প্রেরীত Accept headers অনুসারে গ্রহণযোগ্য নয়।

408 Request Timeout

এই কোড বলতে বোঝায় রিকোয়েস্টের জন্য অপেক্ষার করতে করতে সার্ভারের টাইম আউট হয়ে গেছে।

409 Conflict

এই বলতে যা বোঝায় রিকোয়েস্ট সম্পাদিত করা যাচ্ছে না কারন রিকোয়েস্টের মধ্যে Conflict রয়েছে। যেমন: Edit-conflict.

410 Gone

এই কোড দ্বারা বোঝায়  যে অনুরোধকৃত রিসোর্স এখন আর পাওয়া সম্ভব নয় এবং ভবিষ্যতেও পাওয়ার সম্ভাবন নেই।

411 Length Required

এই কোড বলতে বোঝায় যে রিকোয়েস্টের সাথে কন্টেন্টের লেন্থ দিয়ে দেয়া হয়নি, যা অনুরোধকৃত রিসোর্চ ব্যবহারের ক্ষেত্রে প্রযোজ্য।

412 Precondition Failed

এই কোডটি বলতে বোঝায় আনুরোধকারীর রিকোয়েস্টে একটি পূর্বশর্ত মেনে চলা হয়নি।

413 Request Entity Too Large

এই কোডটি বলতে বোঝায় যে অনুরোধকারী সার্ভারের অনুমোদিত বা ধারনাক্ষমতার বেশি পরিমানে রিকোয়েস্ট করেছেন।

414 Request-URI Too Long

এই কোড বলতে বোঝায় প্রদত্ত URI সার্ভারের প্রসেস করার জন্য যথেষ্ট বড়।

415 Unsupported Media Type

এই  যে কোডটি বলতে বোঝায়  সার্ভার বা রিসোর্চ সাপোর্ট করে এমন কোন মিডিয়া ফাইল রিকোয়েস্ট করা হয় নি।

416 Requested Range Not Satisfiable

এ কোডটি বলতে বোঝায় যে ক্লায়েন্ট একটি ফাইলের শুধু একটি অংশের জন্য অনুরোধ করেছেন কিন্তু সার্ভার সেই উল্লেখ্য অংশটি সাপ্লাই করতে পারছে না।

417 Expectation Failed

এই কোডটি যা বলতে বোঝায় তা হল  Expect request-header field এর জন্য প্রযোজ্য যোগ্যতা সার্ভারটির ক্ষমতার সাথে মিলছে না।

418 I’m a teapot

এই কোডটি যা বলতে বোঝায় তা হল  HTCPCP সার্ভার একটি teapot। RFC 2324, Hyper Text Coffee Pot Control Protocol অনুসারে এ কোডটিকে একটি প্রথাগত IETF April Fools’ jokes হিসেবে ব্যাখ্যা করা হয়েছে।

422 Unprocessable Entity (WebDAV) (RFC 4918)

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

423 Locked (WebDAV) (RFC 4918)

এই কোডটি যা বলতে বোঝায় তা হল  যে রিসোর্স অনুরোধ করা হয়েছিল তা লক করা অবস্থায় আছে।

424 Failed Dependency (WebDAV) (RFC 4918)

এই কোডটি যা বলতে বোঝায় তা হল  যেটা সেটা হল পূর্ববর্তি রিকোয়েস্টটি ব্যর্থ হওয়ার করনে উক্ত রিকোয়েস্টটিও ব্যর্থ হয়েছে।

425 Unordered Collections (RFC 3648)

এই কোডটি যা বলতে বোঝায় তা হল  যেটা সেটা হল “WebDAV Advanced Collections Protocol” এ পাওয়া যায়ে কিন্তু “Web Distributed Authoring and Versioning (WebDAV) Ordered Collections Protocol” এ অনুপস্থিত।

426 Upgrade Required (RFC 2817)

এই কোডটি যা বলতে বোঝায় তা হল  যেটা সেটা হল ক্লায়েন্টকে অন্য প্রোটোকল যেমন TLS/1.0 এ সুইচ করতে হবে।

449 Retry With

এই কোডটি যা বলতে বোঝায় তা হল  যেটা সেটা হল এটি একটি মাইক্রোসফটএর এক্সটেনশন নির্দেশ করে এবং বুঝায় যে সঠিক কার্য সম্পাদনের পর পুনরায় রিকোয়েস্ট করতে হবে।

450 Blocked by Windows Parental Controls

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

5xx Server Error

এই কোডটি যা বলতে বোঝায় তা হল  যেটা সেটা হল এই শ্রেনীর কোডগুলো তখনই প্রদর্শিত হয় যখন সার্ভার দৃশ্যত একটি ভ্যালিড রিকোয়েস্ট পূরণ করতে ব্যর্থ হয়।

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

নিচের রিস্পন্স কোডগুলো যেকোন রিকোয়স্ট পদ্ধতির জন্য্ই প্রযোজ্য:

500 Internal Server Error

এই কোডটি যা বলতে বোঝায় তা হল  যেটা সেটা হল যখন সার্ভার সৃষ্ট সমস্যার কোন কারন খুজে না পায় তখন এ স্টেটাস কোডটি প্রদর্শন করে।

501 Not Implemented

এই কোডটি যা বলতে বোঝায় তা হল  যে সার্ভার রিকোয়েস্ট পদ্ধতিটি বুঝতে পারছে না অথবা এটি রিকোয়েস্ট পূর্ণ করতে সক্ষম নয়।

502 Bad Gateway

এই কোডটি যা বলতে বোঝায় তা হল  যে সার্ভারটি একটি gateway বা proxy হিসেবে কাজ করছিল এবং ডাউন-স্ট্রীম সার্ভার থেকে একটি ইন-ভ্যালিড রিস্পন্স প্রাপ্ত হয়েছে।

503 Service Unavailable

এই কোডটি যা বলতে বোঝায় তা হল  যেটা সেটা হল সার্ভারটি বর্তমানে বন্ধ আছে। সাধারনত, এ কোডটি অস্থায়ী অবস্থা বুঝাতে ব্যবহৃত হয়।

504 Gateway Timeout

এই কোডটি যা বলতে বোঝায় তা হল  যে এ কোডটি থেকে বুঝা যায়: সার্ভারটি একটি gateway বা proxy হিসেবে কাজ করছিল এবং এটি ডাউন-স্ট্রীম সার্ভার থেকে সময় মতো একটি রিকোয়েস্ট পেতে ব্যর্থ হয়েছে।

505 HTTP Version Not Supported

এই কোডটি যা বলতে বোঝায় তা হল  যে রিকোয়েস্টে ব্যবহৃত HTTP প্রোটোকলের ভার্সানটি ঐ সার্ভার সাপোর্ট করে না।

506 Variant Also Negotiates (RFC 2295)

এই কোডটি যা বলতে বোঝায় তা হল  যেটা সেটা হল অনুরোধটির জন্য স্বচ্ছ কন্টেন্ট-নেগোসিয়েশনের ফলস্বরূপ একটি চক্রকার রেফারেন্স সৃষ্টি হয়েছে।

507 Insufficient Storage (WebDAV) (RFC 4918)

এই কোডটি যা বলতে বোঝায় তা হল  যেটা সেটা হল এই অনুরোধটি সম্পূর্ণ করার জন্য পর্যাপ্ত স্থান নেই।

509 Bandwidth Limit Exceeded (Apache bw/limited extension)

এই কোডটি যা বলতে বোঝায় তা হল  যেটা সেটা হল অনুরোধটি সম্পন্ন করার জন্য যে পরিমান ব্যান্ডউইডথ দরকার সার্ভারের, তা RFCs এ নেই।

510 Not Extended (RFC 2774)

এই কোডটি যা বলতে বোঝায় তা হল  যেটা সেটা হল এ রিকোয়েস্টটি পূর্ণ করতে সার্ভারের জন্য আরো বর্ধিত এক্সটেনশন প্রয়োজন।

 

 

Have any Question or Comment?

Leave a Reply

Your email address will not be published. Required fields are marked *

error: