کد وضعیت یا HTTP Status Code چیست؟
معمولا در مرورگرها ممکن است یک کد سه رقمی مشاهده کنید که این کد، کد وضعیت http status میباشد و در پاسخ مرورگر به شما نمایش داده میشود. اين پاسخ ممكن است به معنی خطا در ارتباط با سرور، برقرار شدن ارتباط، دچار مشکل شدن و برقرار نشدن ارتباط نیز باشد.
دسته بندی کدهای وضعیت http status
به طور کلی اچ تی تی پی استاتوس ها به 5 دسته تقسیم بندی میشوند که شامل موارد زیر هستند:
- کدهای اطلاعات ردهی 1xx یا Informational
- کدهای موفقیت آمیز ردهی 2xx یا Success
- کدهای تغییر مسیر یا ریدایرکت ردهی 3xx یا Redirection
- کدهای مربوط به خطاهای سمت کاربر در ردهی عددی 4xx یا Client Error
- کدهای مربوط به خطاهای سمت سرور در ردهی عددی 5xx یا Server Error
بسیاری از کدهایی که در ادامه معرفی میکنیم را ممکن است حتی یکبار هم در مرورگرتان مشاهده نکنید!
انواع کدهای وضعیت (http status)
در ادامه تمامی کدهای وضعیت را بررسی خواهیم کرد و به ترتیب پیش میرویم تا با آنها آشنا شوید.
کدهای وضعیت 1xx (اطلاعات)
این کدها مربوط به اطلاعات میشوند و روند این اطلاعات توسط سرور ادامه پیدا میکند.
کد 100 (Continue): به این معنی است که قسمت اولیه یک درخواست دریافت شده و هنوز توسط سرور رد نشده است. سرور در نظر دارد پس از دریافت کامل درخواست و انجام آن، پاسخ نهایی را ارسال کند.
کد 101 (Switching Protocols): به این معنی است که سرور درخواست کاربر را برای تغییر در پروتکل برنامه مورد استفاده در این اتصال درک میکند و مایل است با آن مطابقت کند.
کد 102 (Processing): پاسخ موقت برای اطلاع به کاربر استفاده میشود که سرور درخواست کامل را پذیرفته است، اما هنوز آن را تکمیل نکرده است.
کدهای وضعیت 2xx (موفقیت آمیز)
این کدها به معنای موفقیت آمیز بودن درخواست میباشند، در ادامه با آنها آشنا خواهید شد:
کد وضعیت 200 (OK): به این معنی است که درخواست با موفقیت انجام شد. درخواست ارسال شده در یک پاسخ 200 به روش درخواست بستگی دارد. برای روش های تعریف شده توسط این مشخصات، معنای مورد نظر درخواست را می توان به صورت زیر خلاصه کرد:
- GET: نمایش اطلاعات از منبع اصلی (سرور)
- HEAD: همانند GET میباشد، اما اطلاعاتی به شما نمایش داده نمیشود.
- POST: تنها نتیجه وضعیت به دست آمده را نمایش میدهد.
- PUT: از وضعیت عملیات انجام گرفته اطلاعاتی را نمایش میدهد.
کد 201 (Created): درخواست موفقیت آمیز بوده و منجر به ایجاد یک یا چند منبع جدید شده است.
کد 202 (Accepted): درخواست برای پردازش پذیرفته شده است، اما هنوز پردازش تکمیل نشده است. ممکن است در نهایت درخواست عملیات انجام شود یا حتی انجام نشود.
کد 203 (Non-authoritative Information): به این معنی است که درخواست موفقیت آمیز بوده، اما ممکن است درخواست از سرور مبدا توسط یک پروکسی تغییر کرده باشد.
کد 204 (No Content): سرور با موفقیت این درخواست را انجام داده است اما هیچ محتوای اضافی برای ارسال در بدنه درخواست وجود ندارد.
کد 205 (Reset Content): سرور این درخواست را قبول کرده و خواسته است که کسی که این درخواست را از سرور داشته، برای اطمینان مجددا درخواستش را ارسال کند.
کد 206 (Partial Content): سرور با انتقال یک یا چند قسمت از نمایش انتخاب شده که با محدوده های رضایت بخش یافت شده در فیلد هدر محدوده درخواست مطابقت دارد.
کد 207 (Multi-Status): پاسخ چند وضعیتی اطلاعاتی را در مورد منابع متعدد در شرایطی که ممکن است چندین کد وضعیت مناسب باشد، منتقل میکند.
کد 226 (IM Used): سرور یک درخواست GET برای کلاینت میفرستد، و پاسخ نمایشی از نتیجه یک یا چند نمونه-دستکاری اعمال شده را نمایش میدهد.
کدهای وضعیت 3xx (تغییر مسیر)
این سری کدها به این معنی هستند که شما میتوانید مجددا هدایت شوید به URL دیگر و تکمیل درخواست به مراحل بیشری نیاز دارد.
کد 300 (Multiple Choices): این کد به این معنی است که در منبع هدف چندین درخواست احتمالی وجود دارد و کاربر میتواند هر یک از آنها را برای ادامه فعالیت و هدایت شدن انتخاب کند.
کد 301 (Moved Permanently): این کد به معنی انتقال دائمی یک URL به URL دیگر است این کار به این دلیل انجام میشود که یا URL شما اشتباه است یا URL یا فایل شما منقضی شده است.
کد 302 (Found): URL مورد نظر شما در جایی غیر از URL که شما خواسته بودید قرار دارد و به طور موقت در جای دیگری قرار گرفته است.
کد 303 (See Other): کاربر به URL دیگری منتقل میشود که در آن پاسخ غیر مستقیم به درخواست اصلی قرار گرفته است.
کد 304 (Not Modified): در صفحاتی که تغییری ایجاد نشده به کاربر این امکان را میدهد تا از حافظه پنهان یا کش برای بارگذاری صفحه استفاده کند.
کد 305 (Use Proxy): به کاربر این پیام را میدهد كه برای استفاده از منبع باید از پروکسی استفاده کند.
کد 307 (Temporary Redirect): URL منبع به طور موقت به URL دیگری منتقل میشود و کاربر به طور خودکار به صفحه دیگری منتقل میشود.
کد 308 (Permanent Redirect): URL منبع به طور دائمی به منبعی دیگر منتقل میشود.
کدهای وضعیت 4xx (خطای کلاینت)
این کدها از سمت کاربر (کلاینت) اتفاق میافتد و به این معنی است که صفحه منبع برای کاربر غیر قابل دسترسی است.
کد 400 (Bad Request): به این معنی است که سرور به هر دلیلی یا نمیتواند یا نمیخواهد درخواست کاربر را پردازش کند.
کد 401 (Unauthorized): در صفحه منبع معمولا زمانی این کد نمایش داده میشود که صفحه سایت از دسترس خارج شده است و تنها به تعدادی از کاربران نمایش داده میشود.
كد 402 (Payment Required): به این معنی است که برای استفاده در آینده رزرو شده است.
کد 403 (Forbidden): سرور درخواست کاربر را درک میکند، اما آن را رد میکند، به دلیل اینکه کاربر مجاز به دسترسی به محتوا نیست.
کد 404 (Not Found): یکی از بیشترین کدهایی که ممکن است با آن مواجه شوید کد وضعیت 404 است و به این معنا است که سرور صفحه منبعی پیدا نمیکند یا صفحه منبع حذف شده است.
کد 405 (Method Not Allowed): به این معنی است که سرور درخواست را شناسایی کرده و آن را قبول دارد، اما از آن پشتیبانی نمیکند.
کد 406 (Not Acceptable): سرور درخواستی که کاربر فرستاده است را به هر دلیلی قبول نمیکند.
کد 407 (Proxy Authentication Required): همانند کد وضعیت 401 عمل میکند با این تفاوت کاربر برای استفاده از پروکسی باید توسط سرور احراز هویت شود.
کد 408 (Request Timeout): به این معنا است که کاربر درخواستی را سمت سرور ارسال کرده است، اما درخواست به صورت کامل سمت سرور دریافت نشده.
کد 409 (Conflict): به دلیل تضادی که در وضعیت منبع وجود دارد درخواست تکمیل نمیشود.
کد 410 (Gone): به این معنی است که منبع مقصد از بین رفته است و احتمالا به صورت دائمی است.
کد 411 (Length Required): سرور از پاسخ به درخواستی که به سمت آن ارسال شده است امتناع میکند.
کد 412 (Precondition Failed): چندین شرط هنگام ارسال درخواست در فیلدهای سمت سرور به درستی اجرا نمیشود و به همین دلیل درخواست تایید نمیشود.
كد 413 (Payload Too Large): حجم درخواست ارسال شده توسط كاربر بسیار زیاد است و به همین دلیل سرور از پاسخ به آن امتناع میکند.
کد 414 (Request-URI Too Long): سرور از پاسخ به درخواست امتناع میکند، زیرا پیام طولانی تر از آن است که سرور بتواند آن را تفسیر کند.
کد 415 (Unsupported Media Type): روش ارسال درخواست از سمت مبدا به شکلی است که سرور از آن پشتیبانی نمیکند و نمیتواند به آن پاسخ دهد.
کدهای وضعیت 5xx (خطای سرور)
ممکن است از سمت کاربر (کلاینت) خطایی وجود نداشته باشد؛ اما این سری از خطاها زمانی اتفاق میافتند که از سمت سرور مشکلی به وجود آمده است، پیشنهاد ما این است که اگر به چنین خطاهایی برخورد کردید خیلی سریع نسبت به رفع آنها اقدام کنید.
کد 500 (Internal Server Error): یه این معنی است که سرور با یک خطای غیر منتظره مواجه شده است، به طور مثال اتصال با دیتابیس مشکل پیدا کرده است.
کد 501 (Not Implemented): سرور از پاسخ به درخواست ارسال شده پشتیبانی نمیکند.
کد 502 (Bad Gateway): سرور، در حالی که به عنوان یک دروازه یا پروکسی عمل میکند، در حال تلاش برای انجام درخواست، یک پاسخ نامعتبر از یک سرور ورودی که به آن دسترسی داشت دریافت کرد.
کد 503 (Service Unavailable): سرور در حال حاضر آماده پاسخگویی نمیباشد و به طور موقت غیر فعال شده، این اتفاق میتواند در حین تعمیرات یک سایت اتفاق بیفتد.
کد 504 (Gateway Timeout): این کد اچ تی تی پی استاتوس به این معنا است که دو سرور در حال پاسخ به درخواست کاربر هستند، اما در این حین یکی از سرورها دچار مشکل میشود و درخواست را یک مقدار دیرتر دریافت میکند.
کد 505 (HTTP Version Not Supported): این HTTP Status Code به این معنی است که نسخه HTTP که استفاده شده است توسط سرور پشتیبانی نمیشود و یا از پاسخ به آن امتناع میکند.
کد 510 (Not Extended): دستور دسترسی به منبع رعایت نشده است و سرور باید تمام اطلاعات لازم را داشته باشد تا بتواند به کاربر پاسخ دهد.
کد 511 (Network Authentication Required): کاربر برای دسترسی به شبکه نیاز به احراز هویت دارد.
در این مقاله تمامی http status code هایی که ممکن است شما با آنها مواجه شوید و احتمالا دچار مشکل شوید را نام برده ایم، امیدواریم که توانسته باشیم به شما کمکی کرده باشیم.
سلام
خیلی ممنونم از توضیحات کاملی که درباره کدهای وضعیت http دادید 👌🙏
سلام خواهش میکنیم بسیار خوشحالیم مورد پسند شما قرار گرفته.