ویب ڈویلپمنٹ کی دنیا میں، 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 مستقل طور پر منتقل ہو گیا۔ سرور صارف کو واپس اطلاع دیتا ہے کہ وسائل کو مستقل طور پر کسی دوسری جگہ منتقل کر دیا گیا ہے۔
ایکس این ایم ایکس ایکس ملا. یہ 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 تنازعہ موجودہ وسائل کی حالت سے متصادم ہونے کی وجہ سے درخواست مکمل نہیں کی جا سکتی۔
ایکس این ایم ایکس ایکس چلا گیا. درخواست کردہ وسیلہ پہلے موجود تھا لیکن اب اسے حذف کر دیا گیا ہے اور اس کی بحالی کی توقع نہیں ہے۔
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 ایرر کوڈز کو سمجھنا اور پڑھنے کے قابل ہونا ویب ڈویلپمنٹ اور سرور کی دیکھ بھال میں شامل ہر فرد کے لیے کلیدی مہارت ہے۔ جیسا کہ ہم ہر خامی کا پتہ لگاتے ہیں اور ان کا پتہ لگانے کے لیے ٹولز کو تلاش کرتے ہیں، ہمیں وجوہات نظر آتی ہیں کہ ان ویب سروسز کے پہلوؤں کو مؤثر طریقے سے منظم کرنا کیوں بہت ضروری ہے۔