دانش محور دستورالعمل های ساده برای کار با سرویس Profitserver
اصلی دانش محور کدهای خطای HTTP: لیست کامل خطاهای سرور

کدهای خطای HTTP: لیست کامل خطاهای سرور


در دنیای توسعه وب، کدهای خطای HTTP نقشی حیاتی در تأثیرگذاری بر تجربه کاربر و شهرت یک وب سایت دارند. در این مقاله، لیست کاملی از کدهای خطای سرور را در نظر می گیریم، معانی آنها را تجزیه و تحلیل می کنیم و یاد می گیریم که چگونه به طور موثر کدهای پاسخ سرور را برای حل مشکلات و بهینه سازی عملکرد برنامه های وب تفسیر کنیم.

کد پاسخ HTTP چیست؟

کد پاسخ HTTP زبان سرورهای وب است که درخواست های مرورگر را به دستورالعمل های قابل فهم ترجمه می کند. مانند شاعری است که به سوالات مجازی پاسخ می دهد و به آنها معنا و جهت می دهد. کدهای پاسخ همیشه کدهای خطای HTTP نیستند. به عنوان مثال، "200 OK" به این معنی است که همه چیز درست است، اما خطای HTTP "404 Not Found" به این معنی است که صفحه در فضای مجازی گم می شود. هر کد یک بیان منحصر به فرد از حالت سرور است که رمزگشایی آن به ما امکان می دهد آنچه را که در طرف دیگر دنیای مجازی اتفاق می افتد درک کنیم.

کدهای 1xx (اطلاعات)

کدهای وضعیت 1xx در پروتکل HTTP نوعی اولین پیوند در گفتگوی بین سرور و مشتری هستند. آنها به جای ارائه پاسخ کامل به یک درخواست، اطلاعاتی در مورد وضعیت فعلی ارائه می دهند و تبادل داده ها را کارآمدتر می کنند. بیایید نگاهی دقیق تر به آنها بیندازیم:

100 ادامه دارد. کد پاسخ HTTP که در آن سرور به کاربر چراغ سبز نشان می دهد و به او اجازه می دهد تا با خیال راحت به ارسال یک درخواست بزرگ ادامه دهد.

101 پروتکل های سوئیچینگ. سرور به مشتری می گوید که در حال تغییر قوانین بازی است، به عنوان مثال، از HTTP به HTTPS ایمن تر می رود. در این مورد، هدر "Upgrade" برای تغییر پروتکل استفاده می شود.

102 پردازش. این کد مانند پیامی است که سرور درخواست را پذیرفته است، اما همچنان مشغول یک عملیات پیچیده است.

103 نکات اولیه. در اینجا سرور چندین هدر نشانگر را قبل از پاسخ اصلی به مشتری ارسال می کند و در مورد چیزی که ممکن است در آینده نزدیک مرتبط باشد هشدار می دهد.

کد 2xx (موفق)

کدهای خطای HTTP در گروه 2xx نشان دهنده درخواست موفقیت آمیز سرور است. آنها اساساً به عنوان "چراغ سبز" در حوزه ارتباطات وب عمل می کنند و تأیید می کنند که همه چیز طبق برنامه پیش می رود و با موفقیت به پایان رسیده است.

200 OK. این وضعیت زمانی استفاده می شود که سرور بدون مشکل درخواستی را با روش GET پردازش کرده و داده های درخواستی را در پاسخ برمی گرداند. هدر "Content-Type" نوع محتوا را در پاسخ گزارش می کند. فقط به مشتری اطلاع می دهد که درخواست موفقیت آمیز بوده است.

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

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

203 اطلاعات غیر معتبر. این کد داده هایی را در اختیار مشتری قرار می دهد که ممکن است رسمی نباشند، اما می توانند برای مقایسه استفاده شوند.

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

205 بازنشانی محتوا. در اینجا به مشتری دستور داده می‌شود که نمای یا داده‌های فعلی را پس از ارسال بازنشانی کند.

206 محتوای جزئی. این مورد نشان می دهد که پاسخ تنها بخشی از محتوای درخواستی را در بر می گیرد. هدر "محدوده محتوا" محدوده محتوای جزئی را نشان می دهد.

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

226 IM استفاده می شود. این کد نشان می‌دهد که سرور از روش فراداده افزایشی (IM) استفاده می‌کند و تنها با ارسال بخش‌های منبع تغییر یافته به مشتری پاسخ می‌دهد.

کدهای 3xx (تغییر مسیرها)

کدهای 3xx در پروتکل HTTP مانند نشانگرهایی هستند که کاربر را به محل منبع جدید هدایت می کنند. آنها به مشتری اطلاع می دهند که برای به دست آوردن محتوای درخواستی یا هدایت به منبع دیگری باید مراحل بعدی انجام شود. بیایید در جزئیات هر یک از آنها غوطه ور شویم:

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

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

302 پیدا شد. این کد HTTP شبیه یک تغییر مسیر موقت است. سرور به مصرف کننده اطلاع می دهد که منبع به طور موقت در یک URL دیگر در دسترس است. هدر "مکان" به URL جدید برای تغییر مسیر موقت اشاره می کند.

303 رجوع به سایرین شود. به مشتری گفته می شود که منبع در URL دیگری در دسترس است و باید یک درخواست GET به این آدرس جدید ارائه دهد.

304 اصلاح نشده است. این وضعیت به مشتری می گوید که منبع از آخرین درخواست تغییر نکرده است و نیازی به دانلود مجدد ندارد. هنگام درخواست، از هدر "If-Modified-Since" برای بررسی اینکه آیا منبع اصلاح شده است استفاده می شود.

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

306 (رزرو شده) — کد رزرو شده است، اما در واقع از آن استفاده نمی شود.

307 تغییر مسیر موقت. این کد مشابه 302 Found است، اما نیاز دارد که مشتری در روش درخواستی که در درخواست اصلی استفاده شده است، باقی بماند.

308 تغییر مسیر دائمی. نشان می دهد که منبع یک حرکت دائمی به یک URI جدید انجام داده است و مشتری باید از URI جدید برای تمام درخواست های آینده استفاده کند.

خطای HTTP 4xx (خطاهای مشتری)

کدهای خطای HTTP 4xx نشان دهنده خطاهای مشتری است. این بدان معنی است که مشکل در سمت کاربر است، مانند مرورگر وب یا برنامه.

درخواست بد 400. سرور نمی تواند درخواست را به دلیل خطاهای نحوی، داده های نامعتبر یا سایر خطاهای سمت سرویس گیرنده پردازش کند.

401 غیر مجاز. سرور نمی تواند درخواست را به دلیل خطاهای نحوی، داده های نامعتبر یا سایر خطاهای سمت سرویس گیرنده پردازش کند.

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

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

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

روش 405 غیر مجاز است. سرور از روش درخواست مشخص شده در طول این منبع پشتیبانی نمی کند. هدر "Allow" روش های مجاز برای منبع را نشان می دهد. با این کد،

406 قابل قبول نیست. سرور نمی تواند داده ها را در قالبی ارائه دهد که توسط مشتری قابل قبول باشد.

احراز هویت پروکسی 407 مورد نیاز است. برای دسترسی به منبع درخواستی، احراز هویت در سرور پروکسی مورد نیاز است.

408 درخواست مهلت زمانی. سرور منتظر دریافت درخواستی از مشتری بود، اما زمان آن تمام شد. هدر "Retry-After" ممکن است نشان دهنده زمانی باشد که پس از آن می توان درخواست را دوباره امتحان کرد.

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

410 رفته. منبع درخواستی قبلا وجود داشته است اما اکنون حذف شده است و انتظار نمی رود که بازیابی شود.

411 طول مورد نیاز است. سرور می خواهد که طول محتوا را در درخواست مشخص کند. عدم وجود این اطلاعات یک خطا در نظر گرفته می شود.

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

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

414 URI خیلی طولانی است. طول URI در درخواست از حد مجاز بیشتر است.

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

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

417 انتظار شکست خورد. شرط مورد انتظار در سرصفحه "انتظار" برآورده نشد.

418 من قوری هستم. این کد به عنوان یک شوخی گنجانده شده است و هیچ اقدام واقعی برای کاربر یا سرور ندارد و یک خطای تمام عیار نیست. این نشان می دهد که سرور یک قوری است و قادر به تهیه قهوه نیست.

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

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

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

424 وابستگی ناموفق. درخواست به درخواست اجرا نشده دیگری بستگی دارد.

425 خیلی زود. سرور به دلیل زودهنگام بودن درخواست آماده پردازش نیست.

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

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

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

431 درخواست فیلدهای سرصفحه خیلی بزرگ است. هدرهای درخواست از حداکثر اندازه مجاز بیشتر است.

449 سعی مجدد با. نشان می دهد که درخواست توسط سرور فعلی قابل اجرا نیست، اما می تواند توسط سرور دیگری با موفقیت پردازش شود و مشتری باید درخواست را با یک URI جدید دوباره امتحان کند.

451 به دلایل قانونی در دسترس نیست. منبع به دلایل قانونی در دسترس نیست.

499 درخواست بسته مشتری. سرور درخواست را دریافت کرد، اما قبل از تکمیل پردازش، اتصال توسط مشتری بسته شد.

خطای HTTP 5xx (خطاهای سرور)

کدهای خطای HTTP 5xx نشان دهنده مشکلات سرور است. این کدها نشان دهنده مشکلاتی است که در سمت سرور رخ داده است و باعث می شود سرور نتواند درخواست کاربر را به روش صحیح پردازش کند. بیایید نگاهی دقیق تر به آنها بیندازیم:

خطای HTTP 500 خطای سرور داخلی. سرور با شرایط غیرمنتظره ای مواجه می شود که مانع از تکمیل درخواست می شود هدر "Server" ممکن است نشان دهنده سروری باشد که خطا روی آن رخ داده است.

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

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

HTTP خطا 503 سرویس در دسترس نیست. سرور به طور موقت قادر به پردازش درخواست ها نیست.

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

505 نسخه HTTP پشتیبانی نمی شود. سرور از نسخه پروتکل HTTP مشخص شده در درخواست پشتیبانی نمی کند. به عنوان یک گزینه پشتیبان، هدر "Upgrade" ممکن است پروتکل های پشتیبانی شده را نشان دهد.

506 نوع نیز مذاکره می کند. این وضعیت در HTTP/1.1 استفاده نمی شود. با این حال، اگر سرور یک پیکربندی داخلی را تشخیص دهد که منجر به ابهام در مذاکرات محتوا می شود، ممکن است از این پاسخ استفاده کند.

507 ذخیره سازی ناکافی. سرور نمی تواند درخواست را به دلیل فضای ذخیره سازی ناکافی در سرور انجام دهد.

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

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

510 تمدید نشده است. برای ادامه درخواست، مشتری باید افزونه های اضافی را منتقل کند.

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

نحوه بررسی کد وضعیت صفحه

در این بخش، ما به سه روش اصلی برای بررسی کد وضعیت صفحه توجه خواهیم کرد: از طریق خط فرمان، استفاده از یک مرورگر وب، و استفاده از خدمات آنلاین مستقل. هر کدام از این روش ها مزایای خاص خود را دارند و می توانند در شرایط مختلف مفید باشند.

بررسی پاسخ سرور از طریق خط فرمان

خط فرمان روشی مناسب برای بررسی کد وضعیت صفحه بدون نیاز به استفاده از مرورگر وب فراهم می کند. برای این روش باید خط فرمان را باز کنید و از دستور زیر استفاده کنید:

curl -I http://page-address

این دستور یک درخواست HEAD (فقط درخواست سرصفحه ها) را به URL مشخص شده ارسال می کند و اطلاعاتی از جمله کد وضعیت HTTP را نمایش می دهد:

بررسی کد پاسخ HTTP سرور Curl

مثال بالا یک کد پاسخ موفق را نشان می دهد. در مورد پاسخی که حاوی کد خطا است، مانند خطای HTTP 404 Not Found، نتیجه مشابه خواهد بود:

کد خطا HTTP Error 404 Not Found

بررسی پاسخ سرور از طریق کنسول مرورگر

کنسول توسعه دهنده مرورگر وب ابزارهایی را برای انجام عملیات های مختلف از جمله بررسی کد وضعیت صفحه ارائه می دهد. برای مشاهده کد HTTP در پاسخ سرور، باید کنسول توسعه دهنده (Ctrl+Shift+K) یا (Ctrl+shift+J) را بسته به مرورگر مورد استفاده باز کنید. بعد، بخش "شبکه" را انتخاب کنید و صفحه مورد نظر را بارگیری کنید:

تشخیص کد پاسخ HTTP سرور مرورگر

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

تعداد زیادی سرویس آنلاین مستقل وجود دارد که ابزارهایی برای بررسی کد وضعیت صفحه وب سایت ارائه می دهند. این خدمات معمولاً به شما این امکان را می دهند که به سرعت یک نمای کلی از در دسترس بودن و عملکرد منابع خود دریافت کنید. همه آنها با استفاده از یک اصل کار می کنند. به عنوان مثال، ما محبوب ترین منبع را در نظر خواهیم گرفت - httpstatus.io

اول از همه، شما باید خود سرویس را باز کنید، سپس آدرس صفحه ای را که باید پاسخ دهید را وارد کنید و درخواست تأیید کنید:

کد پاسخ سرور HTTP برای خدمات مستقل

نتیجه در پایین صفحه نمایش داده می شود:

کد پاسخ سرور HTTP موفق

نتیجه

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

❮ مقاله قبلی نحوه اضافه کردن آدرس IP اضافی به سرور ویندوز
مقاله بعدی ❯ نحوه بررسی ایمیل سرور

VPS را از ما بخواهید

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