لیست کد وضعیت های HTTP

تیر 17, 1397     میثم عبداللهی    

کد وضعیت های HTTP

سلام به شما کاربران عزیز و دوست داشتنی. در مقاله قبلی  درباره پروتکل HTTP (روش کلیک کنید تا بیشتر در موردش بدونید) بحث کردیم و گفته شد که این پروتکل دارای کد وضعیت های مختلفی است. در این مقاله قصد داریم کد وضعیت های HTTP رو با هم به طور کامل مورد بررسی قرار بدیم.

لیست کد وضعیت های HTTP

کد وضعیت های HTTP توسط یک سرور در پاسخ به درخواستی که توسط کاربر به سرور ارسال شده است، صادر می شود. کد وضعیت های HTTP شامل کد های درخواست IETF برای نظرات، سایر مشخصات و برخی از کد های اضافی مورد استفاده در برخی از برنامه های رایج پروتکل HTTP می باشند. اولین رقم کد وضعیت، یکی از پنج کلاس استاندارد پاسخ رو مشخص میکنه.

کلاس های استاندارد

همون طور که گفته شد، کد وضعیت های HTTP در پنج کلاس استاندارد جای می گیرند که عبارتند از:

  • 1xx Informational responses
  • 2xx Success
  • 3xx Redirection
  • 4xx Client errors
  • 5xx Server errors

در ادامه هر کدام از این کلاس ها رو جداگانه مورد بررسی قرار میدیم.

1xx Informational responses

پاسخ اطلاعاتی رو نشون میده که درخواست دریافت و درک شده است. این پرونده به صورت موقت صادر می شود در حالی که پردازش درخواست همچنان ادامه دارد. این کلاس شامل زیر شاخه های مختلفی می شوند که عبارتند از:

100: Continue

سرور هدر درخواست را دریافت کرده و مشتری باید به ارسال درخواست بدنه بپردازد.

101: Switching Protocols

درخواست کننده از سرور خواسته که پروتکل ها رو تغییر دهد و سرور موافقت کرده که این کار را انجام دهد.

102: Processing

این کد نشان می دهد که سرور درخواست دریافت کرده و پردازش میکند اما هیچ پاسخی در دسترس نیست.

103: Early Hints

برای بازگشت برخی از هدر پاسخ قبل از پیام نهایی HTTP مورد استفاده قرار می گیرد.

2xx Success

این کلاس کد وضعیت های HTTP اقدام های درخواست شده ای که توسط مشتری دریافت، درک و پذیرفته شده اند رو نمایش میده.

200: OK

پاسخ استاندارد برای درخواست های HTTP موفق

201: Created

درخواست انجام شده است و در نتیجه به دنبال ایجاد یک منبع جدید است.

202: Accepted

درخواست برای پردازش پذیرفته شده است اما پردازش کامل نشده است.

203: Non-Authoritative Information

سرور یک پروکسی در حال تبدیل است که 200 OK را از ابتدا دریافت کرده اما یک نسخه اصلاح شده از پاسخ مبدا است.

204: No Content

سرور با موفقیت درخواست را پردازش میکند و هیچ محتوای را باز نمی گرداند.

205: Reset Content

سرور با موفقیت درخواست را پردازش میکند و هیچ محتوای را باز نمی گرداند. بر خلاف پاسخ 204، این پاسخ نیاز دارد که درخواست کننده، تنظیم نمایه سند را بازنشانی کند.

206: Partial Content

سرور تنها بخشی از منابع را  توسط مشتری تحویل می دهد.

207: Multi-Status

بدنه پیام به طور پیش فرض یک پیام XML است و میتواند بسته به اینکه چند درخواست زیر ساخته شده است، شامل تعدادی از کد های پاسخ جداگانه باشد.

208: Already Reported

اعضای یک پیوند DAV قبلا در قسمت قبلی واکنش ثبت شده اند و مجددا گنجانده نشده اند.

226: IM Used

سرور یک درخواست برای منبع را انجام داده است و پاسخ، یک نمایش از نتیجه یک یا چند manipulations instance است که به نمونه فعلی اعمال می شود.

3xx Redirection

این کلاس کد وضعیت های HTTP نشان می دهد که مشتری باید اقدامات اضافی را برای تکمیل درخواست انجام دهد. بسیاری از این کدهای وضعیت در تغییر مسیر URL (روش کلیک کن و بیشتر دربارش بدون) استفاده می شود.

300: Multiple Choices

نشان دهنده گزینه های متعدد برای منبع است که مشتری ممکن است انتخاب کند.

301: Moved Permanently

این درخواست و همه درخواست های آینده باید به URL داده شوند.

302: Found

به مشتری می گوید که به آدرس دیگری نگاه کند. 302 توسط 303 و 307 جایگزین شده است.

303: See Other

پاسخ به درخواست می تواند تحت URL دیگری با استفاده از روش GET پیدا شود.

304: Not Modified

نشان می دهد که منابع از زمان نسخه مشخص شده توسط هدر درخواست تغییر نکرده است.

305: Use Proxy

منابع درخواست شده تنها از طریق یک پروکسی قابل دسترسی هستند  و آن آدرسی است که در پاسخ ارائه شده است.

306: Switch Proxy

در حال حاضر استفاده نمی شود ولی به معنای درخواست های بعدی که باید از پروکسی مشخص شده استفاده کنند، است.

307: Temporary Redirect

در این مورد درخواست باید با URL دیگر تکرار شود.

308: Permanent Redirect

تمام درخواست ها باید با استفاده از یک URL دیگر تکرار شوند.

307 و 308 موازی رفتار 301 و 302 هستند اما روش HTTP را تغییر نمی دهند.

کد وضعیت های HTTP- عکس 1

4xx Client errors

این کلاس کد وضعیت های HTTP برای شرایطی است که خطا به نظر می رسد توسط کلاینت ایجاد شده است.

400: Bad Request

سرور نمی تواند درخواست را انجام دهد یا به دلیل یک خطای کلاینت، ظاهری پردازش نمی کند.

402: Payment Required

رزرو شده برای استفاده در آینده.

403: Forbidden

درخواست معتبر است اما سرور از انجام و اقدام آن جلوگیری میکند.

404: Not Found

منابع درخواست شده یافت نشد اما ممکن است در آینده در دسترس باشد.

405: Method Not Allowed

یک روش درخواست که برای منابع درخواست شده پشتیبانی نمی شود.

406: Not Acceptable

منابع درخواست شده قادر به تولید محتوا نیست و مطابق با هدرهای پذیرش فرستاده شده در درخواست، قابل قبول نیست.

408: Request Timeout

سرور منتظر درخواست است.

409: Conflict

نشان می دهد که درخواست نمی تواند به دلیل درگیری در وضعیت فعلی این منبع پردازش شود.

410: Gone

نشان می دهد که درخواست، درخواست شده دیگر در دسترس نیست و دوباره در دسترس نخواهد بود.

411: Length Required

درخواست، طول مدت محتوای آن را مشخص نکرده است.

415: Unsupported Media Type

درخواست یک Entity نوع رسانه ای دارد که سرور یا منبع پشتیبانی نمی کند.

417: Expectation Failed

سرور نمی تواند الزامات فیلد Expect request-header را برآورده کند.

426: Upgrade Required

مشتری باید پروتکل دیگری را تغییر دهد.

5xx Server errors

این کلاس کد وضعیت های HTTP برای شرایطی است که  سرور موفق به انجام یک درخواست نمی شود.

500: Internal Server Error

یک پیام خطای عمومی است و زمانی که یک وضعیت غیر منتظره رخ میدهد و پیام خاصی مناسب نبود مورد استفاده قرار میگیرد.

501: Not Implemented

سرور یا روش درخواست را شناسایی نمی کند و یا توانایی اجرای درخواست را ندارد.

502: Bad Gateway

سرور به عنوان یک دروازه یا پروکسی عمل کرده و یک پاسخ نادرست از سرور بالادست دریافت می کند.

503: Service Unavailable

سرور در حال حاضر در دسترس نیست.

504: Gateway Timeout

سرور به عنوان یک دروازه یا پروکسی عمل کرده و یک پاسخ موقتی از سرور بالادست دریافت نمی کند.

505: HTTP Version Not Supported

سرور نسخه HTTP پروتکل مورد استفاده در درخواست را پشتیبانی نمی کند.

در این مقاله سعی شد، کد های مهم تر مورد بررسی قرار بگیره و مابقی کد ها به دلیل عدم استفاده در پروتکل HTTP مورد بررسی قرار نگرفته اند.

دسته‌بندی‌ : بلاگ

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

Rating*