معروف HTTP Status Codes کونسے ہیں اور ان کا کیا مطلب ہے؟

معروف HTTP Status Codes کونسے ہیں اور ان کا کیا مطلب ہے؟

معروف HTTP Status Codes کونسے ہیں اور ان کا کیا مطلب ہے؟

HTTP یعنی Hypertext Transfer Protocol ورلڈ وائیڈ ویب کی بنیاد ہے۔ جب ہم کوئی ویب سائیٹ کھولتے ہیں یا ویب سائیٹ کے اندر کسی لنک پر کلک کرتے ہیں تو ہم دراصل انٹرنیٹ سے منسلک کسی کمپیوٹر (Web Server) سے کوئی چیز طلب کرنے کے لیے درخواست کر رہے ہوتے ہیں۔ یہ چیز جس کی ہم ویب سرور سے درخواست کرتے ہیں، یہ ویب پیج، تصویر، آڈیو، ویڈیو، پی ڈی ایف یا پھر کسی اور فارمیٹ کی فائل کی صورت میں ہو سکتی ہے۔ ویب سرور یہ درخواست وصول کر کے صورت حال کے مطابق یا تو وہ چیز ہمیں مہیا کر دیتا ہے یا پھر کسی وجہ سے ہماری درخواست مسترد کر دیتا ہے۔ دونوں صورتوں میں ویب سرور ایک کوڈ کی شکل میں اس درخواست کا جواب ضرور دیتا ہے۔ اس کوڈ کا ایک خاص مطلب ہوتا ہے۔

براؤزر یا کسی اور ذریعہ سے ویب سرور کی طرف درخواست بھیجنا اور پھر ویب سرور کی طرف سے اس کا جواب موصول ہونا، یہ سب HTTP پروٹوکول کے تحت ہوتا ہے۔ ہم یہاں ایسے معروف کوڈز (HTTP status codes) کا مطلب سمجھنے کی کوشش کریں گے جو ویب سرور ہماری درخواست کے جواب میں بھیجتا ہے۔ اس سے ہمیں یہ سمجھنے میں مدد ملتی ہے کہ ویب سرور نے ہماری درخواست کے ساتھ کیا سلوک کیا ہے۔ آیا اس نے ہماری درخواست قبول کی ہے یا نہیں، اگر نہیں کی تو اس کی وجہ اس نے کیا بتائی ہے۔

عام صارفین جو مختلف ویب سائیٹس دیکھتے ہیں، انہیں عموماً‌ 404 کوڈ کے علاوہ کسی کوڈ سے کچھ خاص غرض نہیں ہوتی۔ لیکن پروگرامرز اور ڈدیویلپرز کے لیے دیگر کوڈز بھی خاص اہمیت کے حامل ہوتے ہیں، اس لیے کہ وہ انہی کوڈز کی بنیاد پر اپنے سافٹ ویئرز میں یہ فیصلے کرتے ہیں کہ کونسا کوڈ موصول ہونے پر ان کا سافٹ ویئر کیا راستہ اختیار کرے گا۔ آئیں مختصر طور پر ان کوڈز کی وضاحت دیکھتے ہیں:

200 – OK
سرور نے آپ کی درخواست قبول کر لی ہے اور مطلوبہ مواد آپ کو بھیج دیا ہے۔

300 – Multiple Choices
جس چیز کی آپ نے ویب سرور سے درخواست کی ہے وہ ایک سے زیادہ شکلوں میں موجود ہے۔ ہو سکتا ہے آپ نے ایسی ویڈیو کی درخواست کی ہے جو سرور کے پاس ایک سے زیادہ فارمیٹس میں میسر ہے۔

301 – Moved Permanently
جس چیز کی درخواست کی گئی ہے اس کا پتہ (URI) یعنی Uniform Resource Identifier تبدیل ہوگیا ہے۔ نیا پتہ سرور کی طرف سے مہیا کیا جا رہا ہے، مستقبل میں ساری درخواستیں اسی نئے ایڈریس پر بھیجی جائیں۔

302 – Found
جس چیز کے لیے درخواست کی گئی ہے اس کا پتہ عارضی طور پر تبدیل ہوگیا ہے لیکن درخواست بھیجنے والا مستقبل میں اسی اصل پتے پر درخواست بھیجے جس پر ابھی بھیجی گئی ہے۔

304 – Not Modified
مثال کے طور پر ویب براؤزر نے سرور سے کسی ایسی فائل کی درخواست کی ہے جس کی ایک نقل ویب براؤزر کے پاس پہلے سے موجود ہے جو براؤزر نے پہلے کسی وقت ڈاؤن لوڈ کی تھی۔ سرور اپنے پاس موجود فائل دیکھ کر یہ کوڈ بھیجتا ہے کہ بھئی میرے پاس بھی بالکل وہی فائل ہے جو آپ کے پاس موجود ہے- جب سے یہ فائل ڈاؤن لوڈ کی گئی ہے اس کے بعد سے اس میں کوئی تبدیلی نہیں ہوئی، اس لیے میں یہ فائل دوبارہ نہیں بھیج رہا۔

307 – Temporary Redirect
مطلوبہ چیز کا پتہ عارضی طور پر تبدیل کیا گیا ہے، فی الحال آپ سرور کی جانب سے بھیجے گئے تبدیل شدہ پتے پر درخواست بھیجیں، لیکن مستقبل میں اصل پتہ پر ہی درخواست بھیجی جائے جس پر اب بھیجی گئی ہے۔

400 – Bad Request
درخواست جو بھیجی گئی ہے اس کی نحو (Syntax) غلط ہے، سرور اس درخواست کو سمجھ نہیں سکا، اس لیے درخواست تبدیل (درست) کیے بغیر مت بھیجی جائے۔

401 – Unauthorized
جس چیز کی درخواست بھیجی گئی ہے اس کے لیے تصدیق (Authentication) چاہیے۔ اس کے بغیر سرور وہ چیز مہیا نہیں کرے گا۔

403 – Forbidden
جس چیز کی درخواست کی گئی ہے اسے حاصل کرنا بالکل ممنوع ہے۔ اس کا حاصل کرنا تصدیق (Authentication) کے ذریعہ بھی ممکن نہیں، اس لیے یہ درخواست دوبارہ مت بھیجی جائے۔

404 – Not Found
جس چیز کی درخواست کی گئی ہے وہ سرور کے پاس اس وقت دستیاب نہیں ہے۔

410 – Gone
جس چیز کی درخواست کی گئی ہے وہ سرور کے پاس اب موجود نہیں رہی، اور نہ ہی سرور کے پاس اس کا نیا پتہ موجود ہے۔

500 – Internal Server Error
بھیجی گئی درخواست سے سرور کو غیر متوقع صورت حال کا سامنا کرنا پڑا ہے جس کی وجہ سے سرور یہ درخواست قبول کرنے سے قاصر ہے۔

501 – Not Implemented
وہ تکنیک (Functionality) جو بھیجی گئی درخواست کو پورا کرنے کے لیے درکار ہے، اس ویب سرور پر لاگو (Support) نہیں کی گئی۔

503 – Service Unavailable
سرور اس وقت درخواست قبول کرنے سے قاصر ہے۔ اس کی وجہ کچھ بھی ہو سکتی ہے، مثلاً

سرور کریش ہوگیا ہے۔
سرور کی دیکھ بھال (Maintenance) کی جا رہی ہے۔
سرور پر اس وقت کام کا بہت زیادہ بوجھ ہے۔
سرور کسی وائرس وغیرہ کے حملے کی زد میں ہے۔
کسی ویب سائیٹ نے سرور کی مواد کی ترسیل کی تمام صلاحیت (Bandwidth) استعمال کر لی ہے۔
یا شاید سرور کو اس بات کی اجازت نہیں ہے کہ وہ اس وقت مطلوبہ نوعیت کی درخواست قبول کرے۔
عموماً‌ یہ صورت حال عارضی ہوتی ہے۔ چونکہ آپ کو سرور کی طرف سے جواب موصول ہو رہا ہے، اس کا مطلب ہے کہ سرور کسی نہ کسی حد تک کام کر رہا ہے۔

550 – Permission denied
جس اکاؤنٹ کے تحت آپ نے سرور پر Log in کیا ہے، اس کے تحت آپ کو مطلوبہ چیز یا عمل کے لیے درخواست بھیجنے کی اجازت نہیں ہے۔ مثلاً‌ ہو سکتا ہے آپ کو اپنے اکاؤنٹ کے تحت باقی کاموں کی تو اجازت ہے لیکن کوئی فائل ختم کرنے کی اجازت نہیں ہے۔ اگر آپ ایسا کرنے کی کوشش کریں گے تو سرور جواباً‌ یہ کوڈ بھیجے گا۔

Advertisements