HTTP Status Code یا کد وضعیت HTTP عددی سهرقمی است که نتیجه پردازش درخواست را گزارش میکند. کدهای 1xx اطلاعاتی، 2xx موفقیت، 3xx تغییر مسیر، 4xx خطای سمت درخواستدهنده و 5xx خطای سرویسدهنده هستند. تمام اعداد داخل بازهها کد تعریفشده نیستند.
1xx اطلاعاتی
| کد | نام استاندارد یا شناختهشده | معنا و موقعیت |
|---|
100 | Continue | درخواست را ادامه دهید |
101 | Switching Protocols | تغییر پروتکل ارتباط |
102 | Processing | پردازش WebDAV، تاریخی و کنار گذاشتهشده |
103 | Early Hints | راهنمایی زودهنگام برای آمادهسازی منابع |
2xx موفقیت
| کد | نام استاندارد یا شناختهشده | معنا و موقعیت |
|---|
200 | OK | درخواست موفق |
201 | Created | منبع ساخته شد |
202 | Accepted | درخواست پذیرفته شده ولی پردازش نهایی نشده |
203 | Non-Authoritative Information | داده از منبع واسطه |
204 | No Content | موفقیت بدون بدنه پاسخ |
205 | Reset Content | بازنشانی نمای ورودی |
206 | Partial Content | ارسال بخشی از پاسخ |
207 | Multi-Status | نتایج چند عملیات WebDAV |
208 | Already Reported | نتیجه قبلاً گزارش شده در WebDAV |
226 | IM Used | پاسخ دلتا یا نمونه تبدیلشده |
3xx تغییر مسیر
| کد | نام استاندارد یا شناختهشده | معنا و موقعیت |
|---|
300 | Multiple Choices | چند نمایش یا انتخاب |
301 | Moved Permanently | انتقال دائمی |
302 | Found | انتقال موقت |
303 | See Other | خواندن نتیجه در URI دیگر، معمولاً با GET |
304 | Not Modified | نسخه ذخیرهشده هنوز معتبر |
305 | Use Proxy | قدیمی و منسوخ |
306 | Unused | رزرو شده |
307 | Temporary Redirect | تغییر مسیر موقت با حفظ متد |
308 | Permanent Redirect | تغییر مسیر دائم با حفظ متد |
4xx خطای کلاینت
| کد | نام استاندارد یا شناختهشده | معنا و موقعیت |
|---|
400 | Bad Request | ساختار یا ورودی درخواست نامعتبر |
401 | Unauthorized | نیاز به احراز هویت |
402 | Payment Required | رزرو یا کاربرد قراردادی |
403 | Forbidden | دسترسی ممنوع |
404 | Not Found | منبع پیدا نشد |
405 | Method Not Allowed | متد برای این منبع مجاز نیست |
406 | Not Acceptable | نمایش قابل پذیرش فراهم نیست |
407 | Proxy Authentication Required | احراز هویت در پراکسی |
408 | Request Timeout | مهلت درخواست تمام شد |
409 | Conflict | تعارض با وضعیت منبع |
410 | Gone | حذف دائمی منبع |
411 | Length Required | طول بدنه لازم است |
412 | Precondition Failed | شرط درخواست برقرار نبود |
413 | Content Too Large | بدنه درخواست بیش از حد مجاز |
414 | URI Too Long | آدرس بیش از حد طولانی |
415 | Unsupported Media Type | نوع رسانه پشتیبانی نمیشود |
416 | Range Not Satisfiable | بازه درخواست غیرقابل ارائه |
417 | Expectation Failed | انتظار هدر قابل برآورده نیست |
418 | I'm a teapot | کد شوخی ثبتشده در استاندارد |
421 | Misdirected Request | درخواست به سرور نامناسب رسیده |
422 | Unprocessable Content | داده از نظر معنایی قابل پردازش نیست |
423 | Locked | منبع قفلشده WebDAV |
424 | Failed Dependency | خطا در وابستگی WebDAV |
425 | Too Early | درخواست برای اجرا ممکن است زود باشد |
426 | Upgrade Required | نیاز به ارتقای پروتکل |
428 | Precondition Required | نیاز به پیششرط |
429 | Too Many Requests | تعداد درخواست از سقف گذشت |
431 | Request Header Fields Too Large | هدر درخواست بیش از حد حجیم |
451 | Unavailable For Legal Reasons | محدودیت قانونی |
5xx خطای سرور
| کد | نام استاندارد یا شناختهشده | معنا و موقعیت |
|---|
500 | Internal Server Error | خطای عمومی برنامه یا سرور |
501 | Not Implemented | متد یا قابلیت پیادهسازی نشده |
502 | Bad Gateway | پاسخ نامعتبر از سرویس بالادست |
503 | Service Unavailable | سرویس موقتاً در دسترس نیست |
504 | Gateway Timeout | پایان مهلت پاسخ سرویس بالادست |
505 | HTTP Version Not Supported | نسخه HTTP پشتیبانی نمیشود |
506 | Variant Also Negotiates | پیکربندی نادرست مذاکره محتوا |
507 | Insufficient Storage | فضای کافی برای عملیات WebDAV نیست |
508 | Loop Detected | حلقه در پردازش |
510 | Not Extended | افزونه قدیمی مورد نیاز درخواست |
511 | Network Authentication Required | نیاز به احراز هویت شبکه |
کد مناسب برای API فروشگاه چیست؟
| سناریو | پاسخ توصیهشده |
|---|
| لیست محصولات | 200 OK |
| ثبت سفارش جدید | 201 Created |
| تایید درخواست پردازش غیربلادرنگ | 202 Accepted |
| حذف موفق بدون بدنه | 204 No Content |
| کاربر وارد نشده | 401 Unauthorized |
| کاربر دسترسی ندارد | 403 Forbidden |
| شناسه محصول ناموجود | 404 Not Found |
| نسخه سفارش تداخل دارد | 409 Conflict |
| خطای اعتبارسنجی معنایی | 422 Unprocessable Content |
| محدودیت نرخ | 429 Too Many Requests |
| خطای موقت وابستگی | 503 Service Unavailable یا 502 / 504 براساس منشا |
HTTP/1.1 201 Created
Content-Type: application/json
Location: /api/orders/42
{"id": 42, "status": "created"}
نکته فنی
کدهایی مانند 102، 305 و 510 تاریخی یا منسوخاند و نباید بدون ضرورت در API جدید استفاده شوند. 499 و 520 تا 527 کدهای غیراستاندارد بعضی محصولاتاند و جزو رجیستری عمومی HTTP محسوب نمیشوند.
برای مرجع بهروز میتوان مستندات MDN و رجیستری IANA را بررسی کرد.
اصطلاحات مرتبط: پروتکل انتقال ابرمتن، متدهای HTTP، رابط برنامهنویسی کاربردی، رست API، ریت لیمیتینگ، اشتراکگذاری منابع میان مبداها، احراز هویت.