معرفی کدهای HTTP Status – لیست کامل
آشنا بودن با معنی انواع کد وضعیت و خطا یکی از لازمههای طراحان سایت و یکی از نیازهای کاربران عادی است. دانستن معنی کدهای نشانگر وضعیت به پیدا کردن راحت منبع مشکل و رفع کردن آن کمک شایانی میکند. در ادامه این مقاله از سایت سئوف که به معرفی انواع این کدهای نشانگر وضعیت میپردازیم تا در بهینهسازی سئو سایت با درک بیشتری از مشکلات، آنها را رفع کنید. با ما همراه باشید.
کدهای وضعیت HTTP
قبل از شروع به دستهبندی و معرفی کدهای وضعیت میبایست با مفهوم کلی این کدها آشنا باشیم. کد وضعیت HTTP که ما آن را با نام کد ارور یا کد وضعیت میشناسیم یک پاسخ وضعیت از طرف سرور به مرورگر ما است. زمانی که از صفحه جستوجو گوگل روی یک وبسایت کلیک میکنیم یک درخواست از طرف مرورگر به سرور سایت داده میشود. اگر مشکلی در دسترسی به سایت وجود داشته باشد سرور پاسخ را به صورت یک کد سه رقمی نمایش میدهد که همان کد وضعیت HTTP است.
[اگر به شناختن سرور علاقهمند هستید به مقاله تفاوت انواع هاست و سرور مراجعه کنید.]
این کدهای سه رقمی با یکی از پنج عدد 1 تا 5 شروع میشود که هر کدام از این اعداد شروع کننده نشان دهنده محدوده متفاوتی است که همین نکته به پیدا کردن راحت مشکل بسیار کمک میکند.
دستهبندی انواع کدهای نشانگر وضعیت
در این بخش 5 دسته کدهای نشانگر ارور را دستهبندی میکنیم و به معرفی رایجترین آنها میپردازیم. 5 دسته ارورهای سایت به این شکل هستند:
- پاسخهای اطلاعاتی (100-199)
- پاسخهای موفقیت (200-299)
- پیامهای تغییر مسیر (300–399)
- پاسخهای خطای مشتری (400-499)
- پاسخهای خطای سرور (500-599)
کد وضعیت اطلاعاتی
کدهای نمایشگر وضعیت سایت در بازه 100 تا 199 یا به اختصار 1xxs به این معنی است که سرور درخواست را دریافت کرده است و درحال پردازش است اما پاسخی دردسترس نیست.
کد 100 – Continue
این کد نشان میدهد که همه چیز تا اینجا درست است و مشتری باید به درخواست ادامه دهد یا اگر قبلاً تمام شده است، آن را نادیده بگیرد.
کد 101 – Switching Protocols
این کد به این معنی است که اتصال TCP سرور در حال تعویض و یا استفاده از پروتکل دیگری است.
کد 103 – Early Hints
این کد یک پاسخ و واکنش موقت و سریع است. هدف این کد منتظر نگذاشتن کاربر و دسترسی دادن به کاربر برای استفاده از سایت است. هرچند خود سایت به کاربر هشدار میدهد که سایت هنوز کامل نیست.
پاسخهای موفقیت
به طور کلی کدهای نشانگر وضعیت سایت 2xxs برای نشان دادن نتیجه و پاسخی است که به درستی انجام شده است.
کد 200 – OK
یعنی درخواست توسط سرور دریافت شده و پاسخ به صورت کامل و درست است.
کد 201 – Created
این کد نشان میدهد که درخواست با موفقیت انجام شد و در نتیجه یک منبع جدید ایجاد شد. این کد معمولاً پاسخی است که پس از درخواستهایی مثل اضافه کردن یک کاربر به سایت یا درخواستهای دیگری مثل جایگزین کردن اطلاعات مانند اطلاعات ایمیل و شماره تلفن یک کاربر ارسال میشود.
کد 202 – Accepted
کد 202 نشانگر این است که درخواست برای پردازش پذیرفته شده است، اما پردازش تکمیل نشده است. در واقع، ممکن است پردازش هنوز شروع نشده باشد.
کد 203 – Non-Authoritative Information
نشان میدهد که درخواست موفقیتآمیز بوده است، اما محموله محصور شده توسط یک پروکسی تبدیل کننده از پاسخ 200 (OK) سرور مبدا تغییر یافته است.
کد 204 – No Content
کد 204 نشان میدهد که درخواست به درستی به سرور رسیده است اما به خاطر وجود نداشتن پاسخ یا محتوا، اطلاعاتی برای بازگشت پاسخ وجود ندارد.
کد 205 – Reset Content
کد وضعیت ۲۰۵ به مرورگر اعلام میکند محتوای درخواست خود را مجدد ارسال کند.
کد 206 – Partial Content
این کد زمانی کاربرد دارد که در هدر درخواست Content-Range تعیین شده باشد، و بدین معنی است که سرور قسمتی از دادههای درخواستی را ارسال کرده باشد
کد وضعیت تغییر مسیر
این نشانگرهای وضعیت که اختصار 3xxs برای آنها به کار میرود برای اعلام Redirect است. این کدها به معنی تغییر مسیر در رسیدن به صفحه مورد نظر است.
کد 300 – Multiple Choices
کد 300 برای مواقعی است که سرور در پاسخ به درخواست واسط کاربری، چند منبع مختلف را پیشنهاد میدهد (مثلا یک فایل با فرمتهای مختلف) و انتخاب یک URL را به عهده مرورگر کاربر میگذارد، عمل انتخاب نیز معمولا یا به صورت خودکار انجام میشود یا اینکه سرور یکی از URLها را به عنوان پیش فرض برگزیده و همراه پاسخ خود ارسال میکند.
کد 301 – Moved Permanently
این کد به این معنی است که محتوای این صفحه برای همیشه به آدرس جدید دیگری انتقال پیدا کرده است. با بازکردن URL قبلی مرورگر به صورت خودکار به آدرس جدید منتقل میشود.
کد 302 – Found
کد 302 به این معنی است که URL، مانند کد 301 انتقال داده شده است با این تفاوت که URL قبلی هنوز پاک نشده و معتبر است.
کد 303 – See Other
منابع درخواستی در آدرس متفاوتی وجود دارد و باید از آدرس جدید درخواست شود.
کد 304 – Not Modified
بدون تغییر، با این کد وضعیت سرور به کلاینت اعلام میکند که محتوای درخواستی تغییری نداشته و میتواند از دادههای کش شده استفاده کند.
کد 305 – Use Proxy (کد از سیستم HTTP حذف شده)
کد وضعیت HTTP 305 به این معنی است که منبع درخواست شده توسط کاربر فقط از طریق یک پروکسی در دسترس است.
کد 307 – Temporary Redirect
کد 307 مانند کدهای ریدایرکت دیگر است ولی تفاوت آن در تایید انتقال توسط کاربر است.
کد 308 – Permanent Redirect
بدین معنی است که منابع درخواست شده به طور دائمی به آدرس دیگری منتقل شده، این وضعیت همانند کد وضعیت ۳۰۱ است.
پاسخهای خطای مشتری
کدهای پاسخ سرور 4xxs نشان میدهد که در درخواست مشکلی وجود داشته است و نمیتوان آن را تکمیل کرد.
کد 400 – Bad Request
کد 400 نمایانگر درک نشدن و مفهوم نبودن درخواست کاربر توسط سرور رخ میدهد. همچنین یکی دیگر از دلایل این کد ناقص بودن دادهها هنگام انتقال است که یکی از عوامل آن میتواند قطعی یا افت سرعت اینترنت باشد.
کد 401 – Unauthorized
این کد به این معنا است که درخواست تکمیل نشده و دلیل آن، در دسترس نبودن منابع احراز هویت شما برای سرور است.
کد 402 – Payment Required (هنوز کامل نشده و در دست توسعه است)
این کد پاسخ برای استفاده در آینده رزرو شده است. هدف اولیه از ایجاد این کد استفاده از آن برای سیستمهای پرداخت آنلاین است.
کد 403 – Forbidden
نشانگر خطا 403 برای نشان دادن ممنوع بودن دسترسی به کار میرود. دراین مورد سرور با اینکه از هویت کاربران اطلاع دارد ولی از دادن دسترسی به آنها خودداری میکند.
کد 404 – Not Found
کد 404 بدان معنی است که URL درخواستی در سرور وجود ندارد یا حذف شده است.
کد 405 – Method Not Allowed
متد درخواست شما مجاز نیست.
کد 406 – Not Acceptable
دلیل نمایش دادن این کد وجود کاراکترهای غیر استاندارد در درخواست کاربر است.
کد 407 – Proxy Authentication Required
این کد شبیه به 401 Unauthorized است با این تفاوت که احراز هویت باید توسط یک پروکسی انجام شود.
کد 408 – Request Timeout
وقتی که درخواست کاربر در انتظار بررسی توسط سرور باشد و طی زمان استاندارد پاسخی دریافت نمیکند این کد نمایش داده میشود.
کد 409 – Conflict
درخواست شما به وضعیت فعلی سرور تداخل دارد.
کد 410 – Gone
این پاسخ زمانی ارسال میشود که محتوای درخواستی به طور دائم از سرور حذف شده باشد، بدون آدرس ارسال از مشتریان انتظار میرود حافظه پنهان و پیوندهای خود را به منبع حذف کنند. مشخصات HTTP قصد دارد از این کد وضعیت برای “خدمات تبلیغاتی با زمان محدود” استفاده شود. APIها نباید مجبور باشند منابعی را که با این کد وضعیت حذف شدهاند نشان دهند.
کد 411 – Length Required
در این کد سرور درخواست را رد کرده است، زیرا قسمت سرصفحه Content-Length تعریف نشده است و سرور به آن نیاز دارد.
کد 412 – Precondition Failed
کلاینت در هدرهای خود پیش شرطهایی را مشخص کرده است که سرور آنها را برآورده نمیکند.
کد 413 – Payload Too Large
درخواست ارسال شده بزرگتر از حد مجاز تعریف شده توسط سرور است.
کد 414 – URL Too Long
کد 414 برای طولانی بودن URL به کار میرود. این کد خطا به ما نشان میدهد که اندازه URL بیشتر از حدی است که سرور بتواند آن را پردازش کند.
کد 415 – Unsupported Media Type
فرمت رسانه دادههای درخواستی توسط سرور پشتیبانی نمیشود، بنابراین سرور درخواست را رد میکند.
کد 416 – Range Not Satisfiable
زمانی که این کد به دیده میشود به این معنی است که درخواست کاربر شامل بخشی از دیتا است که در سرور وجود ندارد.
کد 417 – Expectation Failed
این کد پاسخ به این معنی است که انتظاری که در قسمت سرصفحه درخواست انتظار نشان داده شده است توسط سرور قابل برآورده نیست.
کد 421 – Misdirected Request
درخواست به سروری ارسال شد که قادر به ایجاد پاسخ نیست. این میتواند توسط سروری ارسال شود که برای تولید پاسخهایی برای ترکیب طرح و اختیاری که در URL درخواست گنجانده شده است پیکربندی نشده است.
کد 425 – Too Early (هنوز کامل نشده و در دست توسعه است)
نشان میدهد که سرور مایل به ریسک پردازش درخواستی نیست
کد 426 – Upgrade Required
سرور از انجام درخواست با استفاده از پروتکل فعلی امتناع میورزد اما ممکن است پس از ارتقاء کلاینت به پروتکل دیگری مایل به انجام این کار باشد. سرور یک هدر Upgrade را در یک پاسخ 426 ارسال می کند تا پروتکل(های) مورد نیاز را نشان دهد.
کد 428 – Precondition Required
درخواست شما فاقد پیش شرطهای لازم است.
کد 429 – Too Many Requests
کاربر در یک مدت زمان معین درخواستهای زیادی ارسال کرده است (“محدودیت نرخ”).
کد 431 – Request Header Fields Too Large
سرور تمایلی به پردازش درخواست ندارد زیرا فیلدهای سرصفحه آن بسیار بزرگ است. درخواست ممکن است پس از کاهش اندازه فیلدهای سرصفحه درخواست مجددا ارسال شود.
کد 451 – Unavailable For Legal Reasons
عامل کاربر منبعی را درخواست کرد که از نظر قانونی قابل ارائه نیست، مانند صفحه وبسایت سانسور شده توسط دولت.
پاسخ های خطای سرور
هنگامی که با خطای سرور داخلی مواجه میشوید، معمولاً به این معنی است که برخی از بخشهای وب سرور شما به درستی پیکربندی نشده است یا برنامه در تلاش است کاری انجام دهد و سرور به دلیل تداخل یا محدودیت، درخواست را انجام نمیدهد. این خطا فقط با اصلاح نرم افزار وب سرور قابل حل است.
کد 501 – Not Implemented
متد درخواست شما توسط سرور پشتیبانی نمیشود
کد 502 – Bad Gateway
سرور پاسخ معتبری را از سرور اصلی دریافت نکرده است
کد 503 – Service Unavailable
سرور برای رسیدگی به درخواست آماده نیست. دلایل رایج سروری است که به دلیل تعمیر و نگهداری از کار افتاده یا بیش از حد بارگذاری شده است. توجه داشته باشید که همراه با این پاسخ، یک صفحه کاربرپسند که مشکل را توضیح میدهد ارسال شود. این پاسخ باید برای شرایط موقت استفاده شود و هدر Retry-After HTTP در صورت امکان باید شامل زمان تخمینی قبل از بازیابی سرویس باشد. مدیر وبسایت همچنین باید مراقب سرصفحههای مربوط به ذخیرهسازی که همراه با این پاسخ ارسال میشوند، باشد، زیرا این پاسخهای شرایط موقت معمولاً نباید در حافظه پنهان ذخیره شوند.
کد 504 – Gateway Timeout
این پاسخ خطا زمانی داده میشود که سرور به عنوان یک دروازه عمل میکند و نمیتواند به موقع پاسخی دریافت کند.
کد 505 – HTTP Version Not Supported
نسخه HTTP استفاده شده در درخواست توسط سرور پشتیبانی نمی شود.
کد 506 – Variant Also Negotiates
سرور دارای یک خطای پیکربندی داخلی است: منبع نوع انتخاب شده برای شرکت در مذاکره محتوای شفاف پیکربندی شده است، و بنابراین نقطه پایان مناسبی در فرآیند مذاکره نیست.
کد 510 – Not Extended
پسوندهای بیشتری برای درخواست مورد نیاز است تا سرور بتواند آن را برآورده کند.
کد 511 – Network Authentication Required
نشان میدهد که کاربر برای دسترسی به شبکه نیاز به احراز هویت دارد.