
کدهای وضعیت HTTP جزء حیاتی پروتکل وب هستند که اطلاعاتی را در مورد وضعیت درخواست های وب بین کلاینت ها و سرورها ارائه می دهند. آنها یک کد عددی 3 رقمی هستند که توسط سرور به عنوان بخشی از پاسخ به درخواست مشتری بازگردانده می شود. کدهای وضعیت HTTP زیادی وجود دارد، اما میتوان آنها را بر اساس رقم اول به دستههایی دستهبندی کرد. در این مقاله به دسته بندی های مختلف کدهای وضعیت HTTP و معنای هر کد در آن دسته ها خواهیم پرداخت.
1xx: اطلاعاتی
دسته 1xx کدهای وضعیت نشان می دهد که سرور درخواست را از مشتری دریافت کرده و به پردازش آن ادامه می دهد. سرور ممکن است در این مدت اطلاعات اضافی مانند به روز رسانی پیشرفت یا درخواست اقدامات بیشتر را برای مشتری ارسال کند.
به عنوان مثال، کد وضعیت 100 (ادامه) نشان می دهد که سرور قسمت اولیه درخواست را دریافت کرده و آماده دریافت بقیه است. کد وضعیت 101 (تغییر پروتکل ها) نشان می دهد که سرور به پروتکل دیگری مانند HTTP به WebSocket سوئیچ می کند.
2xx: موفقیت
دسته 2xx کدهای وضعیت نشان می دهد که درخواست مشتری با موفقیت توسط سرور دریافت، درک و پذیرفته شده است. یعنی سرور درخواست را تکمیل کرده و اطلاعات درخواستی را به مشتری برمی گرداند.
به عنوان مثال، یک کد وضعیت 200 (OK) نشان می دهد که درخواست موفقیت آمیز بوده و سرور اطلاعات درخواستی را برگردانده است. کد وضعیت 201 (ایجاد شده) نشان می دهد که درخواست موفقیت آمیز بوده و سرور یک منبع جدید ایجاد کرده است. کد وضعیت 204 (بدون محتوا) نشان می دهد که درخواست موفقیت آمیز بوده است اما اطلاعاتی برای بازگشت وجود ندارد.
3xx: تغییر مسیر
دسته 3xx کدهای وضعیت نشان می دهد که درخواست مشتری نمی تواند همانطور که هست انجام شود و مشتری باید اقدامات بیشتری را برای تکمیل درخواست انجام دهد. این ممکن است برای مثال شامل هدایت مشتری به یک URL دیگر باشد.
به عنوان مثال، یک کد وضعیت 301 (به طور دائم منتقل شده) نشان می دهد که منبع درخواستی به طور دائم به یک URL جدید منتقل شده است. کد وضعیت 302 (یافت شده) نشان می دهد که منبع درخواستی به طور موقت به یک URL جدید منتقل شده است. کد وضعیت 304 (تغییر نشده) نشان می دهد که منبع درخواستی از آخرین درخواست تغییر نکرده است و می توان آن را از حافظه پنهان مشتری بازیابی کرد.
4xx: خطای مشتری
دسته 4xx کدهای وضعیت نشان میدهد که سرویس گیرنده در درخواست خطایی مرتکب شده است و سرور نمیتواند درخواست را همانطور که هست انجام دهد. این ممکن است به دلیل قالببندی نادرست، مشکلات احراز هویت یا سایر خطاها در سمت سرویس گیرنده باشد.
به عنوان مثال، کد وضعیت 400 (درخواست بد) نشان می دهد که مشتری یک درخواست نامعتبر ارائه کرده است و سرور نمی تواند آن را درک کند. کد وضعیت 401 (غیر مجاز) نشان می دهد که سرویس گیرنده باید قبل از اینکه سرور بتواند درخواست را انجام دهد، اعتبار احراز هویت معتبر ارائه کند. کد وضعیت 404 (Not Found) نشان می دهد که منبع درخواستی در سرور وجود ندارد.
5xx: خطای سرور
دسته 5xx کدهای وضعیت نشان می دهد که سرور هنگام پردازش درخواست مشتری با خطا مواجه شده است. این ممکن است به دلیل خطای سرور داخلی، مهلت زمانی یا سایر مشکلاتی باشد که سرور را از انجام درخواست باز می دارد.
به عنوان مثال کد وضعیت 500 (خطای سرور داخلی) نشان می دهد که سرور با خطا مواجه شده است و نمی تواند درخواست را تکمیل کند. کد وضعیت 502 (Bad Gateway) نشان می دهد که سروری که به عنوان دروازه یا پروکسی عمل می کند، یک پاسخ نامعتبر از سرور بالادستی دریافت کرده است. کد وضعیت 503 (Service Unavailable) نشان می دهد که سرور در حال حاضر در دسترس نیست و قادر به پردازش درخواست نیست.
کدهای وضعیت اضافی
همچنین کدهای وضعیت اضافی وجود دارد که در دسته بندی های بالا قرار نمی گیرند. برخی از این کدهای وضعیت به طور گسترده ای شناخته شده و مورد استفاده قرار می گیرند، در حالی که برخی دیگر کمتر رایج هستند یا ممکن است برای اهداف خاصی استفاده شوند.