موضوع مقاله: فهرست کدهای وضعیت HTTP | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # فهرست کدهای وضعیت HTTP | مقدمه: این کدها شامل کدهای استاندارهای اینترنتی نیروی ضربت مهندسی اینترنت در کنار موارد غیر استاندارد RFC، مشخصات دیگر و تعدادی از کدهای اضافی دیگر است که به‌طور معمول مورد استفاده قرار می‌گیرند. | ## بخش 1: فهرست کدهای وضعیت HTTP | اولین عدد از کد یکی از پنج گروه این وضعیت‌ها را نشان می‌دهد؛ از یک کارگیر HTTP انتظار می‌رود حداقل این پنج گروه را بشناسد. تمام کدهای آورده شده بخشی از استاندارد HTTP/1.1 هستند (RFC 2616) مگر اینکه غیر از این ذکر شده باشد. سیستم مایکروسافت IIS گاهی از زیرمجموعهٔ کدهای اعشاری استفاده می‌کند تا اطلاعات بیشتری در اختیار بگذارد، اما این موارد اینجا لیست نشده‌اند. ۱xx پاسخ موقت این نوع کدها نشان دهندهٔ پاسخی موقت و نیازمند انجام فعالیتی از طرف درخواست‌کننده برای ادامه می‌باشد. ۲xx موفقیت‌آمیز این دسته از کدهای وضعیت نشان می‌دهند که درخواست ارسال‌شده توسط کاربر (کلاینت) به‌درستی دریافت، درک و با موفقیت پردازش شده‌است. کد توضیحات۲۰۰ (موفقیت‌آمیز) پاسخ استاندارد برای درخواست‌های HTTP موفقیت‌آمیز است. در یک درخواست GET، پاسخ شامل منبع درخواستی است، و در یک درخواست POST، پاسخ شامل نتیجهٔ انجام عمل می‌باشد.۲۰۱ (ایجاد شد) درخواست با موفقیت انجام شده و منجر به ایجاد یک منبع جدید در سرور گردیده‌است.۲۰۲ (پذیرفته شد) درخواست پذیرفته شده‌است اما هنوز پردازش نشده‌است. ممکن است در آینده انجام شود یا در هنگام پردازش رد گردد.۲۰۳ (اطلاعات غیرمعتبر) سرور درخواست را با موفقیت پردازش کرده‌است، اما اطلاعات بازگردانده‌شده ممکن است از منبع اصلی نباشند. معمولاً زمانی استفاده می‌شود که سرور یک پراکسی تبدیلی باشد که پاسخ اصلاح‌شده‌ای از سرور مبدا ارائه می‌کند.۲۰۴ (بدون محتوا) سرور درخواست را با موفقیت پردازش کرده ولی هیچ محتوایی برای نمایش بازنمی‌گرداند. اغلب زمانی استفاده می‌شود که فقط لازم است عملیات بدون ارسال داده جدید تأیید شود.۲۰۵ (بازنشانی محتوا) سرور درخواست را با موفقیت پردازش کرده و هیچ محتوایی بازنمی‌گرداند، اما از کاربر می‌خواهد که نمای فعلی سند یا فرم را بازنشانی کند (برای مثال خالی کردن فیلدهای فرم).۲۰۶ (محتوای جزئی) سرور تنها بخشی از منبع را بر اساس هدر محدوده (Range Header) ارسالی از سوی کاربر برمی‌گرداند. | ## بخش 2: فهرست کدهای وضعیت HTTP | کد توضیحات۳۰۰ (چندین انتخاب) سرور فعالیت‌های آماده‌ای بر اساس درخواست داده شده دارد. سرور ممکن است فعالیتی را بر اساس درخواست‌کننده انتخاب کند یا ممکن است لیستی از فعالیت‌هایی که درخواست‌کننده قادر به انتخاب آن‌هاست نمایش دهد.۳۰۱ (انتقال دائم) صفحه درخواست‌شده به‌طور دائم به مکان دیگری منتقل شده‌است. هنگامی که سرور این پاسخ را نمایش می‌دهد، به‌طور خودکار درخواست‌کننده را به محل جدید انتقال می‌دهد.۳۰۲ (انتقال موقتی) سرور در حال حاضر پاسخگو به درخواست صفحه‌ای در مکان دیگر می‌باشد، اما درخواست‌کننده باید برای درخواست‌های آینده به استفاده از مکان اصلی ادامه دهد.۳۰۳ (به محل دیگری مراجعه کنید) سرور هنگامی این کد را نمایش می‌دهد که درخواست‌کننده باید درخواست جداگانهٔ دریافت را به محل دیگری برای دریافت پاسخ دهد.۳۰۴ (اصلاح نشده) از هنگام آخرین درخواست، صفحهٔ درخواست‌شده اصلاح نشده‌است. هنگامی که سرور این پاسخ را نمایش می‌دهد، محتوی صفحه نمایش داده نخواهد شد.۳۰۵ (استفاده از پراکسی) درخواست‌کننده زمانی می‌تواند به صفحهٔ درخواست‌شده دسترسی داشته باشد که از پراکسی استفاده کند.۳۰۶ (تعویض پراکسی)این وضعیت همانند حالت کد ۳۰۵ است، با این تفاوت که درخواست مبتنی بر تعویض پراکسی است.۳۰۷ (تغییر مسیر موقت) این کد مشابه کد ۳۰۲ عمل می‌کند، با این تفاوت که در هنگام ارسال مجدد درخواست، روش درخواست (مانند GET یا POST) نباید تغییر کند. در این حالت، درخواست باید با همان روش و داده‌ها به نشانی (URI) جدید ارسال شود، اما درخواست‌های آینده همچنان باید از نشانی اصلی استفاده کنند.۳۰۸ (تغییر مسیر دائم) این کد نشان می‌دهد که این درخواست و همهٔ درخواست‌های آینده باید به نشانی (URI) داده‌شده هدایت شوند. برای مثال، اگر فرمی با روش POST به منبعی که به‌صورت دائم تغییر مسیر داده است ارسال شود، ارسال درخواست بدون مشکل ادامه پیدا می‌کند. ۴xx خطای کارخواه این نوع کدهای وضعیت نشان می‌دهند که احتمالاً خطایی در درخواست رخ داده که باعث جلوگیری سرور از پردازش آن می‌شود. کد توضیحات۴۰۰ (درخواست ناصحیح) سرور قادر به تشخیص نحو (Syntax) درخواست نمی‌باشد.۴۰۱ (مجاز نیست) درخواست نیازمند تصدیق می‌باشد. سرور ممکن است این پاسخ را برای لاگین یک صفحه نمایش دهد.۴۰۳ درخواست معتبر است، اما سرور قادر به انجام عملیات نیست. کاربر ممکن است مجوزهای لازم برای یک منبع را نداشته باشد یا ممکن است نیاز به حساب کاربری خاصی باشد.۴۰۴ (یافت نشد) سرور قادر به پیدا کردن صفحه یا منبع درخواست شده نمی‌باشد. | ## بخش 3: فهرست کدهای وضعیت HTTP | برای مثال اگر برای صفحه یا عکسی که در سرور وجود ندارد درخواست ارسال شود، سرور اغلب این کد وضعیت را در پاسخ به درخواست دهنده ارسال می کند.۴۰۵ (متود مجاز نیست) متود مشخص‌شده در درخواست مجاز نیست.۴۰۶ (قابل قبول نیست) صفحه درخواست شده قادر به پاسخ گویی به همراه مشخصه‌های محتوی درخواست شده نیست.۴۰۷ (نیاز به تصدیق پراکسی می‌باشد) این کد وضعیت مشابه کد ۴۰۱ می‌باشد؛ اما مشخص می‌کند که درخواست‌کننده برای استفاده از پراکسی نیاز به تصدیق دارد. زمانی که سرور این پاسخ را نمایش می‌دهد، همچنین به معنی پراکسی ای می‌باشد که درخواست‌کننده باید از آن استفاده کند.۴۰۸ (وقفهٔ درخواست) انتظار سرور برای درخواست به پایان رسیده‌است.۴۰۹ (ناسازگاری) سرور برای انجام درخواست با ناسازگاری مواجه شده‌است. سرور باید شامل اطلاعاتی راجع به ناسازگاری در درخواست باشد.۴۱۰ (رفته) این پاسخ به معنی این است که منبع درخواست شده به‌طور دائم حذف شده باشد. تفاوت ۴۱۰ با ۴۰۴ این است که ۴۰۴ به معنی یافت نشد است ولی ۴۱۰ به معنی این است که منبع مورد نظر قبلا وجود داشته ولی دیگر وجود ندارد.۴۱۱ (طول مورد نیاز است) سرور درخواست را بدون طول محتوی فیلد هدر نمی‌پذیرد.۴۱۲ (پیش شرط با شکست مواجه شده) سرور با یکی از پیش شرط‌هایی که درخواست به‌کننده در درخواست قرار داده مواجه نشده‌است.۴۱۳ (موجودیت درخواست بسیار بزرگ است) سرور قادر به پردازش به دلیل بزرگی درخواست برای رسیدگی نیست.۴۱۴ (یوآرال در خواست شده بسیار طولانی است) یوآرالِ درخواسته برای پردازش توسط سرور بسیار طولانی است.۴۱۵ (نوع رسانه پشتیبانی نمی‌شود) درخواست به شکلی است که توسط صفحه درخواست‌کننده پشتیبانی نمی‌شود.۴۱۶ (محدودهٔ درخواست شده رضایت پذیر نیست) اگر درخواست برای محدوده‌ای باشد که برای صفحه در دسترس نیست، سرور این کد وضعیت نمایش می‌دهد.۴۱۷ (انتظار با شکست مواجه شده) سرور قادر به مواجه شدن با انتظار فیلد هدر درخواست نمی‌باشد.429درخواست زیادی ۵xx خطای سرور این دسته از کدهای وضعیت نشان‌دهندهٔ آن است که سرور در هنگام پردازش درخواست با خطا مواجه شده یا قادر به انجام آن نیست. کدهای وضعیت که با رقم «۵» آغاز می‌شوند بیانگر مواردی هستند که در آن‌ها سرور آگاه است که با خطایی روبه‌رو شده یا به هر دلیل نمی‌تواند درخواست را انجام دهد. به‌جز در پاسخ به درخواست‌های HEAD، سرور باید توضیحی دربارهٔ وضعیت خطا در بدنهٔ پاسخ قرار دهد تا مشخص شود آیا این وضعیت موقتی است یا دائمی. هنگامی بازگردانده می‌شود که وضعیت غیرمنتظره‌ای رخ داده و هیچ پیام خطای خاص‌تری مناسب نیست.۵۰۱ (اجرا نشده) سرور یا متود (روش) درخواست را نمی‌شناسد یا قادر به اجرای آن نیست. معمولاً به این معنی است که ویژگی در آینده ممکن است در دسترس قرار گیرد (برای مثال در یک API جدید).۵۰۲ (درگاه خراب) سرور به‌عنوان درگاه یا پراکسی عمل کرده و پاسخ نامعتبری از سرور بالادستی دریافت کرده‌است.۵۰۳ (سرویس در دسترس نیست) سرور در حال حاضر قادر به انجام درخواست نیست (به دلیل تعمیرات، بار زیاد یا توقف موقت). | ## جمع‌بندی | معمولاً توسط پراکسی‌های میانی مورد استفاده قرار می‌گیرد تا دسترسی به اینترنت را کنترل کنند.