پرش به محتوا

فهرست کدهای وضعیت HTTP

از ویکی‌پدیا، دانشنامهٔ آزاد

موارد ذکر شده در زیر، فهرست کدهایِ وضعیتِ قرارداد انتقال ابرمتن (به انگلیسی: Hypertext Transfer Protocol) یا اچ‌تی‌تی‌پی (به انگلیسی: HTTP) است. این کدها شامل کدهای استاندارهای اینترنتی نیروی ضربت مهندسی اینترنت در کنار موارد غیر استاندارد RFC، مشخصات دیگر و تعدادی از کدهای اضافی دیگر است که به‌طور معمول مورد استفاده قرار می‌گیرند. اولین عدد از کد یکی از پنج گروه این وضعیت‌ها را نشان می‌دهد؛ از یک کارگیر HTTP انتظار می‌رود حداقل این پنج گروه را بشناسد. اصطلاحات استفاده شده تماماً نمونه‌های استاندارد هست. تمام کدهای آورده شده بخشی از استاندارد HTTP/1.1 هستند (RFC 2616) مگر اینکه غیر از این ذکر شده باشد.

سیستم مایکروسافت IIS گاهی از زیرمجموعهٔ کدهای اعشاری استفاده می‌کند تا اطلاعات بیشتری در اختیار بگذارد[۱]، اما این موارد اینجا لیست نشده‌اند.

۱xx پاسخ موقت

[ویرایش]

این نوع کدها نشان دهندهٔ پاسخی موقت و نیازمند انجام فعالیتی از طرف درخواست‌کننده برای ادامه می‌باشد.[۲][۳][۴]

کد توضیحات
۱۰۰ (ادامه) درخواست‌کننده باید به درخواست خود ادامه دهد. سرور زمانی این کد را نمایش می‌دهد که بخش اول درخواست را دریافت کرده و منتظر بقیهٔ درخواست‌ها می‌باشد.
۱۰۱ (درحال تعویض پروتکل‌ها) درخواست‌کننده به سرور درخواست تعویض پروتکل‌ها را داده و سرور در حال تأیید کردن انجام تعویض است.
۱۰۲ (پردازش درخواست) سرور با ارسال کد ۱۰۲ به مرورگر، عملیات درخواستی را پردازش می‌کند.
۱۰۳ (اشارات اولیه) سرور با ارسال این کد به مرورگر، اطلاع می‌دهد که می‌تواند برخی از منابع (مانند فایل‌های CSS، اسکریپت‌ها یا فونت‌ها) را پیش‌بارگذاری کند، پیش از آنکه پاسخ نهایی آماده شود. این کد به بهبود عملکرد بارگذاری صفحه کمک می‌کند.

۲xx موفقیت‌آمیز

[ویرایش]

این دسته از کدهای وضعیت نشان می‌دهند که درخواست ارسال‌شده توسط کاربر (کلاینت) به‌درستی دریافت، درک و با موفقیت پردازش شده‌است.[۵]

کد توضیحات
۲۰۰ (موفقیت‌آمیز) پاسخ استاندارد برای درخواست‌های HTTP موفقیت‌آمیز است. محتوای پاسخ بسته به روش درخواست متفاوت خواهد بود. در یک درخواست GET، پاسخ شامل منبع درخواستی است، و در یک درخواست POST، پاسخ شامل نتیجهٔ انجام عمل می‌باشد.
۲۰۱ (ایجاد شد) درخواست با موفقیت انجام شده و منجر به ایجاد یک منبع جدید در سرور گردیده‌است.[۶]
۲۰۲ (پذیرفته شد) درخواست پذیرفته شده‌است اما هنوز پردازش نشده‌است. ممکن است در آینده انجام شود یا در هنگام پردازش رد گردد.
۲۰۳ (اطلاعات غیرمعتبر) سرور درخواست را با موفقیت پردازش کرده‌است، اما اطلاعات بازگردانده‌شده ممکن است از منبع اصلی نباشند. معمولاً زمانی استفاده می‌شود که سرور یک پراکسی تبدیلی باشد که پاسخ اصلاح‌شده‌ای از سرور مبدا ارائه می‌کند.
۲۰۴ (بدون محتوا) سرور درخواست را با موفقیت پردازش کرده ولی هیچ محتوایی برای نمایش بازنمی‌گرداند. اغلب زمانی استفاده می‌شود که فقط لازم است عملیات بدون ارسال داده جدید تأیید شود.
۲۰۵ (بازنشانی محتوا) سرور درخواست را با موفقیت پردازش کرده و هیچ محتوایی بازنمی‌گرداند، اما از کاربر می‌خواهد که نمای فعلی سند یا فرم را بازنشانی کند (برای مثال خالی کردن فیلدهای فرم).
۲۰۶ (محتوای جزئی) سرور تنها بخشی از منبع را بر اساس هدر محدوده (Range Header) ارسالی از سوی کاربر برمی‌گرداند. این کد معمولاً برای از سرگیری دانلودهای قطع‌شده یا دریافت چندبخشی استفاده می‌شود.
۲۰۷ (چند وضعیت) (WebDAV; RFC 4918) بدنهٔ پاسخ معمولاً به‌صورت XML است و می‌تواند شامل چندین کد پاسخ برای درخواست‌های فرعی مختلف باشد.
۲۰۸ (قبلاً گزارش شده) (WebDAV; RFC 5842) اعضای یک اتصال (binding) در پاسخ چندوضعیتی قبلی گزارش شده‌اند و در این پاسخ تکرار نمی‌شوند.
۲۲۶ (استفاده از IM) (RFC 3229) سرور درخواست را با موفقیت انجام داده و پاسخ شامل نتیجهٔ اعمال یک یا چند دست‌کاری (Instance Manipulations) بر نمونهٔ کنونی منبع است.

۳xx تغییر مسیر

[ویرایش]

از این نوع کدها برای تغییر مسیر استفاده می‌شود.

کد توضیحات
۳۰۰ (چندین انتخاب) سرور فعالیت‌های آماده‌ای بر اساس درخواست داده شده دارد. سرور ممکن است فعالیتی را بر اساس درخواست‌کننده انتخاب کند یا ممکن است لیستی از فعالیت‌هایی که درخواست‌کننده قادر به انتخاب آن‌هاست نمایش دهد.
۳۰۱ (انتقال دائم) صفحه درخواست‌شده به‌طور دائم به مکان دیگری منتقل شده‌است. هنگامی که سرور این پاسخ را نمایش می‌دهد، به‌طور خودکار درخواست‌کننده را به محل جدید انتقال می‌دهد.
۳۰۲ (انتقال موقتی) سرور در حال حاضر پاسخگو به درخواست صفحه‌ای در مکان دیگر می‌باشد، اما درخواست‌کننده باید برای درخواست‌های آینده به استفاده از مکان اصلی ادامه دهد.
۳۰۳ (به محل دیگری مراجعه کنید) سرور هنگامی این کد را نمایش می‌دهد که درخواست‌کننده باید درخواست جداگانهٔ دریافت را به محل دیگری برای دریافت پاسخ دهد.
۳۰۴ (اصلاح نشده) از هنگام آخرین درخواست، صفحهٔ درخواست‌شده اصلاح نشده‌است. هنگامی که سرور این پاسخ را نمایش می‌دهد، محتوی صفحه نمایش داده نخواهد شد.
۳۰۵ (استفاده از پراکسی) درخواست‌کننده زمانی می‌تواند به صفحهٔ درخواست‌شده دسترسی داشته باشد که از پراکسی استفاده کند.
۳۰۶ (تعویض پراکسی) این وضعیت همانند حالت کد ۳۰۵ است، با این تفاوت که درخواست مبتنی بر تعویض پراکسی است.
۳۰۷ (تغییر مسیر موقت) این کد مشابه کد ۳۰۲ عمل می‌کند، با این تفاوت که در هنگام ارسال مجدد درخواست، روش درخواست (مانند GET یا POST) نباید تغییر کند. در این حالت، درخواست باید با همان روش و داده‌ها به نشانی (URI) جدید ارسال شود، اما درخواست‌های آینده همچنان باید از نشانی اصلی استفاده کنند.
۳۰۸ (تغییر مسیر دائم) این کد نشان می‌دهد که این درخواست و همهٔ درخواست‌های آینده باید به نشانی (URI) داده‌شده هدایت شوند. این وضعیت مشابه کد ۳۰۱ است، با این تفاوت که اجازهٔ تغییر روش HTTP را نمی‌دهد. برای مثال، اگر فرمی با روش POST به منبعی که به‌صورت دائم تغییر مسیر داده است ارسال شود، ارسال درخواست بدون مشکل ادامه پیدا می‌کند.

۴xx خطای کارخواه

[ویرایش]

این نوع کدهای وضعیت نشان می‌دهند که احتمالاً خطایی در درخواست رخ داده که باعث جلوگیری سرور از پردازش آن می‌شود.

کد توضیحات
۴۰۰ (درخواست ناصحیح) سرور قادر به تشخیص نحو (Syntax) درخواست نمی‌باشد.
۴۰۱ (مجاز نیست) درخواست نیازمند تصدیق می‌باشد. سرور ممکن است این پاسخ را برای لاگین یک صفحه نمایش دهد.
۴۰۳ درخواست معتبر است، اما سرور قادر به انجام عملیات نیست. کاربر ممکن است مجوزهای لازم برای یک منبع را نداشته باشد یا ممکن است نیاز به حساب کاربری خاصی باشد.
۴۰۴ (یافت نشد) سرور قادر به پیدا کردن صفحه یا منبع درخواست شده نمی‌باشد. برای مثال اگر برای صفحه یا عکسی که در سرور وجود ندارد درخواست ارسال شود، سرور اغلب این کد وضعیت را در پاسخ به درخواست دهنده ارسال می کند.
۴۰۵ (متود مجاز نیست) متود مشخص‌شده در درخواست مجاز نیست.
۴۰۶ (قابل قبول نیست) صفحه درخواست شده قادر به پاسخ گویی به همراه مشخصه‌های محتوی درخواست شده نیست.
۴۰۷ (نیاز به تصدیق پراکسی می‌باشد) این کد وضعیت مشابه کد ۴۰۱ می‌باشد؛ اما مشخص می‌کند که درخواست‌کننده برای استفاده از پراکسی نیاز به تصدیق دارد. زمانی که سرور این پاسخ را نمایش می‌دهد، همچنین به معنی پراکسی ای می‌باشد که درخواست‌کننده باید از آن استفاده کند.
۴۰۸ (وقفهٔ درخواست) انتظار سرور برای درخواست به پایان رسیده‌است.
۴۰۹ (ناسازگاری) سرور برای انجام درخواست با ناسازگاری مواجه شده‌است. سرور باید شامل اطلاعاتی راجع به ناسازگاری در درخواست باشد.
۴۱۰ (رفته) این پاسخ به معنی این است که منبع درخواست شده به‌طور دائم حذف شده باشد. تفاوت ۴۱۰ با ۴۰۴ این است که ۴۰۴ به معنی یافت نشد است ولی ۴۱۰ به معنی این است که منبع مورد نظر قبلا وجود داشته ولی دیگر وجود ندارد.
۴۱۱ (طول مورد نیاز است) سرور درخواست را بدون طول محتوی فیلد هدر نمی‌پذیرد.
۴۱۲ (پیش شرط با شکست مواجه شده) سرور با یکی از پیش شرط‌هایی که درخواست به‌کننده در درخواست قرار داده مواجه نشده‌است.
۴۱۳ (موجودیت درخواست بسیار بزرگ است) سرور قادر به پردازش به دلیل بزرگی درخواست برای رسیدگی نیست.
۴۱۴ (یوآرال در خواست شده بسیار طولانی است) یوآرالِ درخواسته برای پردازش توسط سرور بسیار طولانی است.
۴۱۵ (نوع رسانه پشتیبانی نمی‌شود) درخواست به شکلی است که توسط صفحه درخواست‌کننده پشتیبانی نمی‌شود.
۴۱۶ (محدودهٔ درخواست شده رضایت پذیر نیست) اگر درخواست برای محدوده‌ای باشد که برای صفحه در دسترس نیست، سرور این کد وضعیت نمایش می‌دهد.
۴۱۷ (انتظار با شکست مواجه شده) سرور قادر به مواجه شدن با انتظار فیلد هدر درخواست نمی‌باشد.
429 درخواست زیادی

۵xx خطای سرور

[ویرایش]

این دسته از کدهای وضعیت نشان‌دهندهٔ آن است که سرور در هنگام پردازش درخواست با خطا مواجه شده یا قادر به انجام آن نیست. کدهای وضعیت که با رقم «۵» آغاز می‌شوند بیانگر مواردی هستند که در آن‌ها سرور آگاه است که با خطایی روبه‌رو شده یا به هر دلیل نمی‌تواند درخواست را انجام دهد. به‌جز در پاسخ به درخواست‌های HEAD، سرور باید توضیحی دربارهٔ وضعیت خطا در بدنهٔ پاسخ قرار دهد تا مشخص شود آیا این وضعیت موقتی است یا دائمی. مرورگرها نیز باید محتوای بازگردانده‌شده را به کاربر نمایش دهند. این کدها برای تمام روش‌های درخواست قابل استفاده هستند.

کد توضیحات
۵۰۰ (خطای داخلی سرور) پیام خطای عمومی سرور است. هنگامی بازگردانده می‌شود که وضعیت غیرمنتظره‌ای رخ داده و هیچ پیام خطای خاص‌تری مناسب نیست.
۵۰۱ (اجرا نشده) سرور یا متود (روش) درخواست را نمی‌شناسد یا قادر به اجرای آن نیست. معمولاً به این معنی است که ویژگی در آینده ممکن است در دسترس قرار گیرد (برای مثال در یک API جدید).
۵۰۲ (درگاه خراب) سرور به‌عنوان درگاه یا پراکسی عمل کرده و پاسخ نامعتبری از سرور بالادستی دریافت کرده‌است.
۵۰۳ (سرویس در دسترس نیست) سرور در حال حاضر قادر به انجام درخواست نیست (به دلیل تعمیرات، بار زیاد یا توقف موقت). این وضعیت معمولاً موقتی است.[۷]
۵۰۴ (وقفهٔ درگاه) سرور به‌عنوان درگاه یا پراکسی عمل کرده اما در زمان مناسب پاسخی از سرور بالادستی دریافت نکرده‌است.
۵۰۵ (نگارش HTTP پشتیبانی نمی‌شود) سرور از نگارش (نسخه) پروتکل HTTP استفاده‌شده در درخواست پشتیبانی نمی‌کند.
۵۰۶ (تغییرپذیر نیز مذاکره می‌کند) (RFC 2295) در هنگام مذاکرهٔ محتوا (Content Negotiation) بین سرور و کاربر، مرجع دَوَرانی (Circular Reference) ایجاد شده‌است.
۵۰۷ (فضای ذخیره‌سازی ناکافی) (WebDAV; RFC 4918) سرور قادر به ذخیره‌سازی دادهٔ لازم برای تکمیل درخواست نیست.
۵۰۸ (حلقه شناسایی شد) (WebDAV; RFC 5842) سرور در هنگام پردازش درخواست، یک حلقهٔ بی‌نهایت شناسایی کرده‌است (به‌جای کد ۲۰۸ قبلاً گزارش شده فرستاده می‌شود).
۵۱۰ (توسعه‌نیافته) (RFC 2774) برای انجام درخواست، توسعه‌ها یا افزونه‌های بیشتری در درخواست لازم است.
۵۱۱ (احراز هویت شبکه لازم است) (RFC 6585) کاربر باید برای دسترسی به شبکه احراز هویت شود. معمولاً توسط پراکسی‌های میانی مورد استفاده قرار می‌گیرد تا دسترسی به اینترنت را کنترل کنند.[۸]

جستارهای وابسته

[ویرایش]

منابع

[ویرایش]
  1. "The HTTP status codes in IIS 7.0". مایکروسافت. July 14, 2009. Retrieved April 1, 2009.
  2. https://support.google.com/webmasters/answer/40132?hl=en
  3. http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
  4. «کدهای وضعیت سرور». همیار آی‌تی. ۲۰۱۶-۰۷-۱۲. دریافت‌شده در ۲۰۱۸-۱۱-۰۲.
  5. خطای یادکرد: خطای یادکرد:برچسب <ref>‎ غیرمجاز؛ متنی برای یادکردهای با نام iana_status_codes وارد نشده است. (صفحهٔ راهنما را مطالعه کنید.).
  6. Stewart, Mark; djna. "Create request with POST, which response codes 200 or 201 and content". Stack Overflow. Archived from the original on October 11, 2016. Retrieved 16 October 2015.
  7. alex. "What is the correct HTTP status code to send when a site is down for maintenance?". Stack Overflow. Archived from the original on October 11, 2016. Retrieved 16 October 2015.
  8. خطای یادکرد: خطای یادکرد:برچسب <ref>‎ غیرمجاز؛ متنی برای یادکردهای با نام rfc6585 وارد نشده است. (صفحهٔ راهنما را مطالعه کنید.).