ویب ڈویلپمنٹ کی دنیا میں، HTTP ایرر کوڈز صارف کے تجربے اور ویب سائٹ کی ساکھ کو متاثر کرنے میں اہم کردار ادا کرتے ہیں۔ اس مضمون میں، ہم سرور کے ایرر کوڈز کی مکمل فہرست پر غور کریں گے، ان کے معانی کا تجزیہ کریں گے، اور مسائل کو حل کرنے اور ویب ایپس کی کارکردگی کو بہتر بنانے کے لیے سرور رسپانس کوڈز کی مؤثر طریقے سے تشریح کرنے کا طریقہ سیکھیں گے۔
HTTP رسپانس کوڈ کیا ہے؟
HTTP رسپانس کوڈ ویب سرورز کی زبان ہے جو براؤزر کی درخواستوں کو قابل فہم ہدایات میں ترجمہ کرتی ہے۔ یہ ایک شاعر کی طرح ہے جو مجازی سوالات کا جواب دے رہا ہے، انہیں معنی اور سمت دیتا ہے۔ رسپانس کوڈ ہمیشہ HTTP ایرر کوڈ نہیں ہوتے ہیں۔ مثال کے طور پر، "200 OK" کا مطلب ہے کہ سب کچھ ٹھیک ہے، لیکن HTTP ایرر "404 Not Found" کا مطلب ہے جب صفحہ ورچوئل اسپیس میں گم ہو جاتا ہے۔ ہر کوڈ سرور کی حالت کا ایک منفرد اظہار ہے، جس کی ضابطہ کشائی ہمیں یہ سمجھنے کی اجازت دیتی ہے کہ ورچوئل دنیا کے دوسری طرف کیا ہو رہا ہے۔
1xx کوڈز (معلومات)
HTTP پروٹوکول میں 1xx اسٹیٹس کوڈ سرور اور کلائنٹ کے درمیان مکالمے میں ایک قسم کا پہلا لنک ہیں۔ کسی درخواست کا مکمل جواب دینے کے بجائے، وہ موجودہ صورتحال کے بارے میں معلومات فراہم کرتے ہیں، جس سے ڈیٹا کا تبادلہ زیادہ موثر ہوتا ہے۔ آئیے ان پر ایک قریبی نظر ڈالیں:
100 جاری رکھیں ۔ HTTP رسپانس کوڈ جس میں سرور صارف کو گرین لائٹ دیتا ہے، جس سے وہ محفوظ طریقے سے بڑی درخواست بھیجنا جاری رکھ سکتا ہے۔
101 سوئچنگ پروٹوکول سرور کلائنٹ کو بتاتا ہے کہ وہ گیم کے اصولوں کو تبدیل کر رہا ہے، مثال کے طور پر، HTTP سے زیادہ محفوظ HTTPS پر جانا۔ اس صورت میں، "اپ گریڈ" ہیڈر پروٹوکول کی تبدیلی کے لیے استعمال ہوتا ہے۔
102 پروسیسنگ یہ کوڈ ایک پیغام کی طرح ہے کہ سرور نے درخواست قبول کر لی ہے، لیکن پھر بھی ایک پیچیدہ آپریشن میں مصروف ہے۔
103 ابتدائی اشارے یہاں سرور مرکزی جواب سے پہلے کلائنٹ کو کئی اشارے والے ہیڈر بھیجتا ہے، کسی ایسی چیز کے بارے میں انتباہ کرتا ہے جو مستقبل قریب میں متعلقہ ہو سکتا ہے۔
2xx کوڈ (کامیاب)
گروپ 2xx میں HTTP ایرر کوڈز سرور کی جانب سے ایک کامیاب درخواست کی نشاندہی کرتے ہیں۔ وہ بنیادی طور پر ویب مواصلات کے دائرہ کار میں "سبز روشنی" کے طور پر کام کرتے ہیں، اس بات کی تصدیق کرتے ہیں کہ سب کچھ منصوبہ بندی کے مطابق ہو رہا ہے اور کامیابی کے ساتھ مکمل ہو گیا ہے۔
200 ٹھیک ہے ۔ یہ حیثیت اس وقت استعمال ہوتی ہے جب سرور بغیر کسی پریشانی کے GET طریقہ سے درخواست پر کارروائی کرتا ہے اور جواب میں درخواست کردہ ڈیٹا کو واپس کرتا ہے۔ "مواد کی قسم" ہیڈر جواب میں مواد کی قسم کی اطلاع دیتا ہے۔ یہ صرف کلائنٹ کو مطلع کرتا ہے کہ درخواست کامیاب رہی۔
201 تخلیق کیا گیا ۔ یہاں سرور ایک نئے وسائل کی تخلیق کا اعلان کرتا ہے۔
202 قبول کر لیا گیا ۔ سرور صارف کو بتاتا ہے کہ درخواست قبول کر لی گئی ہے، لیکن جواب دینے میں وقت لگے گا۔
203 غیر مستند معلومات ۔ یہ کوڈ کلائنٹ کو ڈیٹا فراہم کرتا ہے جو سرکاری نہیں ہو سکتا، لیکن موازنہ کے لیے استعمال کیا جا سکتا ہے۔
204 کوئی مواد نہیں ۔ سرور نے درخواست پر کارروائی کی ہے لیکن کوئی اضافی مواد واپس نہیں کر رہا ہے۔
205 ری سیٹ مواد ۔ یہاں کلائنٹ کو موجودہ منظر یا ڈیٹا بھیجنے کے بعد دوبارہ ترتیب دینے کی ہدایت کی جاتی ہے۔
206 جزوی مواد یہ کیس اشارہ کرتا ہے کہ جواب میں درخواست کردہ مواد کا صرف ایک حصہ شامل ہے۔ "مواد کی حد" ہیڈر جزوی مواد کی حد کی نشاندہی کرتا ہے۔
207 ملٹی سٹیٹس۔ سرور نے کلائنٹ سے ملٹی آپریشن کی درخواست کو کامیابی کے ساتھ مکمل کر لیا ہے، اور جواب میں ہر ایک آپریشن کی حیثیت کے بارے میں معلومات شامل ہیں۔
226 IM استعمال کیا گیا یہ کوڈ اشارہ کرتا ہے کہ سرور نے انکریمنٹل میٹا ڈیٹا (IM) طریقہ استعمال کیا اور کلائنٹ کو صرف ترمیم شدہ وسائل کے حصے دے کر جواب دیا۔
3xx کوڈز (ری ڈائریکٹ)
HTTP پروٹوکول میں 3xx کوڈ پوائنٹرز کی طرح ہیں جو صارف کو وسائل کے نئے مقام کی طرف رہنمائی کرتے ہیں۔ وہ کلائنٹ کو مطلع کرتے ہیں کہ درخواست کردہ مواد کو حاصل کرنے یا کسی دوسرے وسائل پر بھیجنے کے لیے فالو اپ اقدامات کیے جائیں۔ آئیے ان میں سے ہر ایک کی تفصیلات میں ڈوبیں:
300 ایک سے زیادہ انتخاب کلائنٹ کو ایک سگنل ملتا ہے کہ وسائل کے لیے کئی ممکنہ مقامات ہیں اور جواب میں اسے انتخاب دیا جاتا ہے۔ موجودہ حالات میں، "مقام" ہیڈر وسائل کے متبادل اختیارات کی نشاندہی کر سکتا ہے۔
301 مستقل طور پر منتقل ہو گیا۔ سرور صارف کو واپس اطلاع دیتا ہے کہ وسائل کو مستقل طور پر کسی دوسری جگہ منتقل کر دیا گیا ہے۔
302 ملا ۔ یہ HTTP کوڈ ایک عارضی ری ڈائریکٹ کی طرح ہے۔ سرور صارف کو مطلع کرتا ہے کہ وسائل عارضی طور پر ایک مختلف URL پر دستیاب ہے۔ "مقام" ہیڈر عارضی ری ڈائریکٹ کے لیے نئے URL کی طرف اشارہ کرتا ہے۔
303 دیگر دیکھیں ۔ کلائنٹ کو بتایا جاتا ہے کہ وسیلہ ایک مختلف URL پر دستیاب ہے اور اسے اس نئے پتے پر GET کی درخواست کرنی ہوگی۔
304 میں ترمیم نہیں کی گئی ۔ یہ حیثیت کلائنٹ کو بتاتی ہے کہ آخری درخواست کے بعد سے وسائل میں کوئی تبدیلی نہیں ہوئی ہے اور اسے دوبارہ ڈاؤن لوڈ کرنے کی ضرورت نہیں ہے۔ درخواست کرتے وقت، "If-Modified-Since" ہیڈر کو یہ چیک کرنے کے لیے استعمال کیا جاتا ہے کہ آیا وسائل میں ترمیم کی گئی ہے۔
305 پراکسی استعمال کریں۔ جواب کے طور پر، سرور رپورٹ کرتا ہے کہ اسے مطلوبہ وسائل تک رسائی کے لیے مخصوص پراکسی کا استعمال کرنا چاہیے۔
306 (محفوظ) - کوڈ کو محفوظ کیا گیا ہے، لیکن حقیقت میں یہ استعمال نہیں کیا گیا ہے۔
307 عارضی ری ڈائریکٹ یہ کوڈ 302 فاؤنڈ سے ملتا جلتا ہے، لیکن اس کے لیے کلائنٹ کو درخواست کے طریقہ کار میں رہنے کی ضرورت ہے جو اصل درخواست میں استعمال کیا گیا تھا۔
308 مستقل ری ڈائریکٹ اشارہ کرتا ہے کہ وسائل نے مستقل طور پر ایک نئے URI میں منتقل کیا ہے اور کلائنٹ کو مستقبل کی تمام درخواستوں کے لیے نیا URI استعمال کرنا چاہیے۔
4xx HTTP خرابی (کلائنٹ کی غلطیاں)
HTTP 4xx ایرر کوڈز کلائنٹ کی غلطیوں کی نشاندہی کرتے ہیں۔ اس کا مطلب ہے کہ مسئلہ صارف کی طرف ہے، جیسے کہ ویب براؤزر یا ایپ۔
400 بری درخواست سرور نحو کی غلطیوں، غلط ڈیٹا، یا کلائنٹ کی طرف سے دیگر غلطیوں کی وجہ سے درخواست پر کارروائی نہیں کر سکتا۔
401 غیر مجاز۔ سرور نحو کی غلطیوں، غلط ڈیٹا، یا کلائنٹ کی طرف سے دیگر غلطیوں کی وجہ سے درخواست پر کارروائی نہیں کر سکتا۔
402 ادائیگی درکار ہے ۔ کوڈ اس وقت فعال نہیں ہے اور مستقبل کے استعمال کے لیے محفوظ ہے۔ یہ مستقبل میں وسائل تک رسائی سے پہلے ادائیگی کرنے کی ضرورت کی نشاندہی کر سکتا ہے۔
HTTP خرابی 403 منع ہے۔ کلائنٹ کے پاس مطلوبہ وسائل تک رسائی کے لیے کافی حقوق نہیں ہیں۔
404 نہیں ملا۔ درخواست کردہ وسیلہ سرور پر موجود نہیں ہے۔ یہ صارف کی سب سے عام غلطیوں میں سے ایک ہے۔
405 طریقہ کی اجازت نہیں ہے ۔ سرور اس وسائل کے دوران مخصوص درخواست کے طریقہ کار کی حمایت نہیں کرتا ہے۔ "اجازت دیں" ہیڈر وسائل کے لیے اجازت شدہ طریقوں کی نشاندہی کرتا ہے۔ اس کوڈ کے ساتھ،
406 قابل قبول نہیں۔ سرور اس فارمیٹ میں ڈیٹا فراہم نہیں کر سکتا جسے کلائنٹ قبول کر سکے۔
407 پراکسی توثیق درکار ہے ۔ درخواست کردہ وسائل تک رسائی کے لیے پراکسی سرور پر توثیق درکار ہے۔
408 درخواست کا ٹائم آؤٹ سرور کلائنٹ سے درخواست موصول ہونے کا انتظار کر رہا تھا، لیکن وقت ختم ہو گیا۔ "دوبارہ کوشش کے بعد" ہیڈر اس وقت کی نشاندہی کر سکتا ہے جس کے بعد درخواست کی دوبارہ کوشش کی جا سکتی ہے۔
409 تنازعہ۔ موجودہ وسائل کی حالت سے متصادم ہونے کی وجہ سے درخواست مکمل نہیں کی جا سکتی۔
410 چلا گیا ۔ درخواست کردہ وسیلہ پہلے موجود تھا لیکن اب اسے حذف کر دیا گیا ہے اور اس کی بحالی کی توقع نہیں ہے۔
411 لمبائی درکار ہے ۔ سرور درخواست میں مواد کی لمبائی بتانے کا مطالبہ کرتا ہے۔ اس معلومات کی عدم موجودگی کو ایک غلطی سمجھا جاتا ہے۔
412 پیشگی شرط ناکام ہو گئی ۔ درخواست میں ایک پیشگی شرط پوری نہیں کی گئی ہے، جو اسے عملدرآمد سے روکتی ہے۔
413 پے لوڈ بہت بڑا ہے ۔ درخواست کے ڈیٹا کا سائز سرور کی حد سے زیادہ ہے۔
414 URI بہت لمبا ہے ۔ درخواست میں URI کی لمبائی قابل قبول حد سے زیادہ ہے۔
415 غیر تعاون یافتہ میڈیا کی قسم ۔ سرور درخواست میں فراہم کردہ ڈیٹا کی قسم پر کارروائی نہیں کر سکتا۔
416 رینج قابل اطمینان نہیں ہے ۔ HTTP خرابی جہاں درخواست کردہ رینج موجودہ سرور ڈیٹا سے مماثل نہیں ہے۔
417 توقع ناکام ہو گئی ۔ "متوقع" ہیڈر میں متوقع شرط پوری نہیں ہوئی۔
418 میں ایک چائے والا ہوں ۔ یہ کوڈ ایک مذاق کے طور پر شامل کیا گیا ہے اور یہ صارف یا سرور کے لیے کسی حقیقی کارروائی کا مطلب نہیں ہے، اور یہ مکمل غلطی نہیں ہے۔ اس سے ظاہر ہوتا ہے کہ سرور ایک چائے کا برتن ہے اور کافی بنانے کے قابل نہیں ہے۔
421 غلط ہدایت کی درخواست درخواست یا سرور کی ترتیب میں خرابی کی وجہ سے سرور درخواست پر کارروائی نہیں کرتا ہے۔
422 ناقابل عمل ہستی سرور درخواست کو سمجھتا ہے، لیکن ڈیٹا کی خرابیوں کی وجہ سے اس پر کارروائی نہیں کرتا ہے۔
423 مقفل۔ وسیلہ مسدود ہے اور اس پر کارروائی نہیں کی جا سکتی۔
424 ناکام انحصار درخواست کا انحصار ایک اور غیر عمل درآمد درخواست پر ہے۔
425 بہت جلد۔ سرور درخواست کے جلد آنے کی وجہ سے اس پر کارروائی کرنے کے لیے تیار نہیں ہے۔
426 اپ گریڈ درکار ہے ۔ درخواست پر کارروائی کرنے کے لیے سرور کو زیادہ جدید پروٹوکول کے استعمال کی ضرورت ہوتی ہے۔
428 پیشگی شرط درکار ہے ۔ سرور کو درخواست میں بیان کرنے کے لیے کچھ پیشگی شرائط کی ضرورت ہوتی ہے۔
429 بہت زیادہ درخواستیں کلائنٹ نے مختصر وقت میں سرور کی حد سے تجاوز کرتے ہوئے بہت زیادہ درخواستیں بھیجیں۔
431 درخواست ہیڈر فیلڈز بہت بڑے ہیں ۔ درخواست کے ہیڈر زیادہ سے زیادہ اجازت شدہ سائز سے زیادہ ہیں۔
449 کے ساتھ دوبارہ کوشش کریں۔ اشارہ کرتا ہے کہ درخواست موجودہ سرور کے ذریعہ نہیں چلائی جاسکتی ہے، لیکن دوسرے سرور کے ذریعہ اس پر کامیابی سے کارروائی کی جاسکتی ہے، اور کلائنٹ کو ایک نئے URI کے ساتھ درخواست کی دوبارہ کوشش کرنی چاہئے۔
451 قانونی وجوہات کی بناء پر دستیاب نہیں ہے ۔ ریسورس قانونی وجوہات کی بنا پر دستیاب نہیں ہے۔
499 کلائنٹ کی بند درخواست ۔ سرور کو درخواست موصول ہوئی، لیکن پروسیسنگ مکمل ہونے سے پہلے کلائنٹ نے کنکشن بند کر دیا تھا۔
HTTP 5xx غلطی (سرور کی خرابیاں)
HTTP 5xx ایرر کوڈز سرور کے مسائل کی نشاندہی کرتے ہیں۔ یہ کوڈز سرور کی جانب پیش آنے والے مسائل کی نشاندہی کرتے ہیں، جس سے سرور صارف کی درخواست پر صحیح طریقے سے کارروائی کرنے سے قاصر ہے۔ آئیے ان پر ایک قریبی نظر ڈالیں:
HTTP خرابی 500 اندرونی سرور کی خرابی ۔ سرور کو غیر متوقع حالات کا سامنا کرنا پڑتا ہے جو اسے درخواست کی تکمیل سے روکتا ہے "سرور" ہیڈر اس سرور کی نشاندہی کرسکتا ہے جس پر خرابی واقع ہوئی ہے۔
501 لاگو نہیں ہوا ۔ سرور کلائنٹ کی درخواست پر کارروائی کے لیے درکار فعالیت کی حمایت نہیں کرتا ہے۔ "بذریعہ" ہیڈر اس پراکسی سرور کی نشاندہی کر سکتا ہے جس کے ذریعے غلطی ہوئی ہے۔
502 خراب گیٹ وے اس کوڈ کا مطلب ہے کہ پراکسی کے طور پر کام کرنے والے سرور کو دوسرے سرور سے غلط جواب موصول ہوا۔
HTTP ایرر 503 سروس دستیاب نہیں ہے ۔ سرور عارضی طور پر درخواستوں پر کارروائی کرنے سے قاصر ہے۔
504 گیٹ وے ٹائم آؤٹ سرور، جو پراکسی کے طور پر کام کرتا ہے، کو دوسرے سرور سے بروقت جواب نہیں ملا۔
505 HTTP ورژن تعاون یافتہ نہیں ہے ۔ سرور درخواست میں بیان کردہ HTTP پروٹوکول ورژن کی حمایت نہیں کرتا ہے۔ بیک اپ آپشن کے طور پر، "اپ گریڈ" ہیڈر معاون پروٹوکول کی نشاندہی کر سکتا ہے۔
506 متغیر بھی بات چیت کرتا ہے ۔ یہ حیثیت HTTP/1.1 میں استعمال نہیں ہوتی ہے۔ تاہم، اگر سرور کسی اندرونی ترتیب کا پتہ لگاتا ہے جس کے نتیجے میں مواد کی گفت و شنید میں ابہام پیدا ہوتا ہے، تو وہ اس جواب کو استعمال کر سکتا ہے۔
507 ناکافی اسٹوریج ۔ سرور پر سٹوریج کی ناکافی جگہ کی وجہ سے سرور درخواست کو پورا نہیں کر سکتا۔
508 لوپ کا پتہ چلا ۔ سرور نے درخواست پر کارروائی کے دوران ایک لوپ کا پتہ لگایا ہے، اور لامحدود لوپ سے بچنے کے لیے درخواست کو مکمل کرنے سے انکار کر دیا ہے۔
509 بینڈوتھ کی حد سے تجاوز خرابی اس وقت ہوتی ہے جب درخواستوں یا ٹریفک کے زیادہ حجم کی وجہ سے سرور کی بینڈوتھ حد سے تجاوز کر جاتی ہے۔
510 توسیع نہیں کی گئی درخواست جاری رکھنے کے لیے کلائنٹ کو اضافی ایکسٹینشنز کو منتقل کرنا ہوگا۔
511 نیٹ ورک کی توثیق درکار ہے ۔ نیٹ ورک تک رسائی حاصل کرنے کے لیے کلائنٹ کو خود کی تصدیق کرنی ہوگی۔
صفحہ کے اسٹیٹس کوڈ کو کیسے چیک کریں۔
اس سیکشن میں، ہم صفحہ کے اسٹیٹس کوڈ کو چیک کرنے کے تین اہم طریقوں پر غور کریں گے: کمانڈ لائن کے ذریعے، ویب براؤزر کا استعمال کرتے ہوئے، اور آزاد آن لائن خدمات کا استعمال۔ ان طریقوں میں سے ہر ایک کے اپنے فوائد ہیں اور مختلف حالات میں کارآمد ہو سکتے ہیں۔
کمانڈ لائن کے ذریعے سرور کے جواب کی جانچ کر رہا ہے۔
کمانڈ لائن ویب براؤزر استعمال کیے بغیر صفحہ کے اسٹیٹس کوڈ کو چیک کرنے کا ایک آسان طریقہ فراہم کرتی ہے۔ اس طریقہ کے لیے، آپ کو کمانڈ لائن کھولنے اور کمانڈ استعمال کرنے کی ضرورت ہے:
curl -I http://page-address
یہ کمانڈ مخصوص یو آر ایل پر ہیڈ درخواست (صرف ہیڈر کی درخواست) بھیجتا ہے اور HTTP اسٹیٹس کوڈ سمیت معلومات دکھاتا ہے:
اوپر کی مثال ایک کامیاب جوابی کوڈ کو ظاہر کرتی ہے۔ کسی جواب کی صورت میں جس میں ایرر کوڈ ہو، جیسے 404 Not Found HTTP ایرر، نتیجہ ایک جیسا نظر آئے گا:
براؤزر کنسول کے ذریعے سرور کے جواب کی جانچ کر رہا ہے۔
ویب براؤزر ڈویلپر کنسول صفحہ اسٹیٹس کوڈ کو چیک کرنے سمیت مختلف کارروائیوں کے لیے ٹولز فراہم کرتا ہے۔ سرور کے جواب میں HTTP کوڈ دیکھنے کے لیے، آپ کو استعمال شدہ براؤزر کے لحاظ سے ڈویلپر کنسول (Ctrl+Shift+K) یا (Ctrl+shift+J) کھولنے کی ضرورت ہے۔ اگلا، "نیٹ ورک" سیکشن کو منتخب کریں اور مطلوبہ صفحہ لوڈ کریں:
آزاد ٹولز کا استعمال کرتے ہوئے سرور کے جواب کی جانچ کرنا
بڑی تعداد میں آزاد آن لائن خدمات ہیں جو ویب سائٹ کے صفحہ کے اسٹیٹس کوڈ کو چیک کرنے کے لیے ٹولز فراہم کرتی ہیں۔ یہ خدمات عام طور پر آپ کو اپنے وسائل کی دستیابی اور کارکردگی کا فوری جائزہ حاصل کرنے کی اجازت دیتی ہیں۔ وہ سب ایک ہی اصول کا استعمال کرتے ہوئے کام کرتے ہیں۔ مثال کے طور پر، ہم سب سے زیادہ مقبول وسائل پر غور کریں گے - httpstatus.io
سب سے پہلے، آپ کو خود سروس کھولنے کی ضرورت ہے، پھر اس صفحے کا پتہ درج کریں جس کا جواب آپ کو تلاش کرنے کی ضرورت ہے، اور تصدیق کی درخواست کریں:
نتیجہ صفحہ کے نیچے دکھایا جائے گا:
نتیجہ
آخر میں، اس بات پر زور دیا جانا چاہئے کہ HTTP ایرر کوڈز کو سمجھنا اور پڑھنے کے قابل ہونا ویب ڈویلپمنٹ اور سرور کی دیکھ بھال میں شامل ہر فرد کے لیے کلیدی مہارت ہے۔ جیسا کہ ہم ہر خامی کا پتہ لگاتے ہیں اور ان کا پتہ لگانے کے لیے ٹولز کو تلاش کرتے ہیں، ہمیں وجوہات نظر آتی ہیں کہ ان ویب سروسز کے پہلوؤں کو مؤثر طریقے سے منظم کرنا کیوں بہت ضروری ہے۔