سلام
تو این مقاله میخوایم یه نیم نگاهی به کدهای وضعیت یا همون HTTP status codes و پرکاربردترین کدهای اون داشته باشیم.
اول ببینیم این کد چی هست اصلا. زمانیکه یه درخواست از نوع HTTP میفرستیم به یه سرور، این درخواست توسط سرور پردازش میشه و یه نتیجه به ما برگردونده میشه. بریم یکی دوتا نمونه اش رو با هم ببینیم ؟
من تو این مثال از مرورگر کروم استفاده میکنم. یه مرورگر باز میکنیم و وارد قسمت Developer Tools اون میشیم. به چند روش میشه اینکارو کرد. یکی اینکه دکمه f12 رو بزنیم- یا روی صفحه راست کلیک کرده و گزینه inspect رو انتخاب کنیم. یا اینکه دکمه های ترکیبی ctrl + shift + i و بزنیم. بعدش که قسمت Developer Tools باز شد چندین تب مختلف داره که ما میخوایم با تب Network کار کنیم. پس اون رو انتخاب میکنیم و میبینم که مثه شکل زیر برای ما نمایش داده میشه:
خب الان کافیه یه آدرس رو بالا تو قسمت آدرس بار وارد کنیم و Enter رو بزنیم تا درخواست لود شدن سایت گوگل به سرور ارسال شه و بتونیم درخواست ها رو ببینیم. به قسمت پایین تب Network دقت کنید ببینید چه اتفاقی میفته ؟
حواستون باشه که حتما تو کادر فیلتر که با 1 مشخص کردم چیزی وارد نشده باشه و تو قسمتی که با 2 مشخص کردم هم گزینه All انتخاب شده باشه.
حالا درون باکسی که قرمز کردم رو نگاه کنید. هر کدوم از این ردیف ها یه Request هستن که به سمت سرور ارسال شدن و دارای یه نام و یه Status و کلی ستون دیگه هستن که فعلا با دوتای اولی سروکار داریم. میبینیم که اکثرشون دارای عدد 200 هستن و یه دونه 204 هم داریم. این عددها نشون دهنده وضعیت پاسخ این درخواست هستن که موضوع این مقاله هست.
حالا بریم یه حالت دیگه هم ببینیم. توی کادر آدرس بار یه آدرسی رو وارد میکنیم که وجود نداره تا ببینیم چه عددی تو این حالت برمیگرده. مثلا عبارت زیر رو وارد کنید: https://www.google.com/sdfhiaeoifhoiu
و نتیجه میشه این:
و میبینیم که ایندفعه مقدار Status عدد 404 هست که یه استاندارد برای حالت پیدا نشدن نتیجه و به اصطلاح Not Found هست.
این اعداد دارای یه استاندارد هستن که توسط کل برنامه نویس ها تو تمام دنیا رعایت میشن و دونستنش میتونه به ما کمک کنه که برنامه نویس بهتری باشیم و معمولا یکی از سوالات مصاحبه ای هم هست که بیشتر تو بک اند و زمان نوشتن سرویس های API استفاده میشه.
خانواده اصلی کدهای وضعیت
دسته بندی کلی این کدها بصورت سه رقمی هست که رقم اول از چپ نشون دهنده خونواده اون کد هست یعنی بصورت زیر:
از 100 تا 199 : اطلاعات یا Informational
از 200 تا 299 : موفقیت یا Successful
از 300 تا 399 : بازیابی مسیر یا Redirection
از 400 تا 499 : خطای سمت کاربر یا Client error
از 500 تا 599 : خطای سمت سرور یا Server error
چند مثال از پرکاربردترین کدها:
200: درخواست موفق، معمولا برای پاسخ موفقیت آمیز درخواست اطلاعات از سرور
201: درخواست ایجاد موفق، معمولا برای اعلام ایجاد موفقیت آمیز یک موجودیت جدید در بک اند
400: درخواست اشتباه، معمولا نمایانگر این که پارامترهای درخواست کامل و درست نیست یا درخواست اشتباه است.
401: احرازهویت تایید نشده یا Unauthorized: معمولا نمایانگر این که کاربر بایستی برای این درخواست از نام کاربری و رمزعبور استفاده کند.
403: دسترسی غیرمجاز یا Forbidden: معمولا بیانگر این که کاربر علاوه بر داشتن نام کاربری و رمزعبور، باید دارای دسترسی لازم برای این درخواست باشد.
404: پیدا نشد یا Not found: موردی که در سرور پیدا نشده است.
500: ارور داخلی سرور که باعث می شود پاسخ این درخواست را نتواند بدهد.
503: عدم دسترسی موقت به سرویس یا Service unavailable: در این لحظه سرور نمی تواند پاسخ این درخواست را بدهد.
برای مشاهده کلیه کدها با جزئیات میتونین به لینک های زیر مراجعه کنین:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
https://en.wikipedia.org/wiki/List_of_HTTP_status_codes
و من الله توفیق