وقتی کدهای وضعیت HTTP تکلیفمان را با سایت‌ها مشخص می‌کنند!

کدهای وضعیت HTTPهیچکدام از ما از خطای 404 خاطره خوشی نداریم. 503 هم عادی نیست. اما این عددها چه معنایی دارند؟ کدهای HTTP را سرور به صفحه سایت اضافه می‌کند. این کدها بخشی از صفحه وب نیستند و در واقع پیام‌های سرور هستند. سرور از کدهای HTTP استفاده می‌کند تا چگونگی درخواست‌های شما را برای دسترسی به یک صفحه وب خاص نشان دهد.هرگاه مرورگر را باز می‌کنید و وب‌سایتی را جستجو می‌کنید، از مرورگر شما، درخواستی به سمت سرور ارسال می‌شود. سپس سرور پاسخ را در قالب یک کد وضعیت به مرورگر شما می‌فرستد. البته معمولا کاربران این کدها را نمی‌بینند اما آن‌ها نشانه‌ای از وضعیت سرور و سایت هستند.کدهای HTTP را سرور به صفحه سایت اضافه می کند. این کدها بخشی از صفحه وب نیستند و در واقع پیام های سرور هستند. سرور از کدهای HTTP استفاده می کند تا چگونگی درخواست های شما را برای دسترسی به یک صفحه وب خاص نشان دهد.کدهای وضعیت، در حوزه سئو اهمیت بالایی دارند در حدی که اگر یک وب‌سایت به‌طور مستمر کدهای وضعیتی حاکی از خارج از دسترس بودن را برای کاربر ارسال کند، رتبه آن به شدت در نتایج گوگل افت خواهد کرد. اما هر کدام از کدهای وضعیت HTTP به چه معنا هستند؟دسته‌بندی کدهای وضعیت HTTPبه طور کلی کدهای وضعیت HTTP به 5 دسته تقسیم می‌شوند و هر یک نشانه‌ای برای یک موضوع خاص هستند. این 5 دسته عبارتند از:کدهای سری 100 برای اطلاع‌رسانی هستند و نشان می‌دهند که درخواست‌ها دریافت شده‌اند و یا در حال انجام هستند.کدهای سری 200 نشانه موفقیت درخواست هستند. این کدها حاکی از موفق بودن پروسه و دریافت اطلاعات مورد نظر در مرورگر هستند.کدهای سری 300 به ریدایرکت اختصاص دارند.کدهای سری 400 نشان از خطاهای سمت کاربر و در دسترس نبودن صفحه مورد نظر دارند.کدهای سری 500 هم نشان‌دهنده خطای سرور هستند.فهرست کدهای وضعیت HTTPهریک از دسته‌بندی‌های بالا، خودشان شامل چندین کد هستند. در ادامه ببینیم هر کدام چه معنایی دارند.کدهای وضعیت سری 100: اطلاعاتکد 100: Continueاین کد نشان می‌دهد سرور درخواست مرورگر را دریافت کرده است. این کد به‌ویژه وقتی که درخواست‌های زیادی به سرور ارسال می‌شود، اهمیت پیدا می‌کند.کد 101: Switching Protocolsکد 101 نشان می‌دهد که سرور تعویض پروتکل را منطقی و مفید ارزیابی کرده است.کد 102: Processingممکن است درخواست‌های متعددی از سمت مرورگر به سرور ارسال شود و این درخواست‌ها نیاز به پردازش جداگانه داشته باشند. کد 102 در حال پردازش بودن درخواست‌ها را نشان می‌دهد.کدهای وضعیت سری 200: موفقیت درخواستکد 200: OKکد 200 نشان می‌دهد که درخواست یا عملیات مورد نظر به‌طور کامل و با موفقیت توسط سرور انجام شده است.کد 201: Createdاین کد حاکی از درخواست موفق و ایجاد یک منبع جدید در سرور است.کد 202: Acceptedاین کد به معنای پذیرفته شدن درخواست کاربر است درحالیکه پردازش آن هنوز کامل نشده. بنابراین پس از پایان پردازش ممکن است درخواست اجرا یا رد شود.کد 203: Non-Authoritative Informationمعنای کد 203 پاسخ موفقیت‌آمیز سرور به کاربر است اما اطلاعات ارسالی از یک منبع نامعتبر بوده که اطلاعات آن مورد تائید نیست.کد 204: Non-Contentاین کد مربوط به پاسخی از سرور است که محتوای خاصی ندارد. به این معنا که آدرس درخواستی هیچ تغییری از آخرین درخواست تاکنون نداشته و صفحه به همان صورت قبلی نمایش داده می‌شود.کد 205: Reset Contentهنگامی‌که اطلاعات ارسالی سمت کاربر مجددا تنظیم می‌شوند، کد 205 کاربرد دارد. از این کد معمولا برای پاک کردن اطلاعات وب استفاده می‌شود.کد 206: Partial Contentارسال این کد از سمت سرور نشان می‌دهد که به بخشی از درخواست به‌صورت جزئی پاسخ داده شده است.کدهای وضعیت سری 300: انتقالکد 300: Multiple Choicesاین کد برای زمانی است که سرور چند منبع مختلف را در پاسخ به درخواست پیشنهاد می‌دهد. در این وضعیت، مرورگر به‌صورت خودکار یکی منبع را انتخاب می‌کند.کد 301: Moved Permanentlyیکی از مهم‌ترین کدهای HTTP به‌ویژه در سئو، کد 301 است. این کد نشان می‌دهد که یک آدرس به‌صورت دائمی به آدرس دیگری منتقل شده است.کد 302: Foundاین کد نشان می‌دهد که منبع درخواستی به‌صورت موقت به آدرس دیگری منتقل شده است. در این شرایط منبع اصلی همچنان در دسترس و معتبر است اما فعلا به آدرس دیگری منتقل شده است.کد 303: See Otherدر کد 303 بر روی متد GET تاکید می‌شود و آدرس باید از طریق متد GET درخواست شود.کد 304: Not Modifiedهنگامی‌که مرورگر آخرین تغییرات منبع را از سرور فراخوانی کند و در منبع مورد نظر تغییری اتفاق نیفتاده باشد، سرور کد 304 را ارسال می‌کند.کد 305: Use Proxyاین کد زمانی ارسال می‌شود که برای دسترسی به منبع نیاز به پروکسی باشد. البته برخی از مرورگرها از این قابلیت پشتیبانی نمی‌کنند.کد 306: Switch Proxyاین کد برای درخواست تغییر پروکسی است که اکنون کاربردی ندارد.کد 307: Temporary directاین کد هم مانند کد 302 و 303 است با این تفاوت که خودکار نیست و نیاز به تایید کاربر دارد.کدهای وضعیت سری 400: خطای سمت کاربرکد 400: Bad Requestاین کد نشان‌دهنده این است که درخواست برای کاربر مفهوم نباشد و به همین دلیل امکان پردازش وجود ندارد.کد 401: Unauthorizedکد 401، دسترسی غیر مجاز است و درخواست نیاز به تایید برای دریافت مجوزهای دسترسی دارد. به همین دلیل سرور از کاربر می‌خواهد تا اعتبارش را اثبات کند.کد 402: Payment Requireاین کد هم زیاد استفاده نمی‌شود اما کاربرد آن زمانی است که حساب‌های کاربری نیاز به پرداخت دارند.کد 403: Forbiddenزمانی‌که دسترسی به منبعی برای همه کاربران محدود شده باشد، این کد کاربرد دارد. تفاوت این کد با کد 401 در این است که حتی با ورود اطلاعات کاربری هم امکان دسترسی وجود ندارد و دسترسی از طریق مدیران سایت محدود می‌شود.کد 404: Not Foundاین کد نشان می‌دهد که منبع موجود نیست و یا حذف شده است. با این حال این احتمال نیز هست که باز هم در دسترس قرار گیرد.کد 405: Method Not Allowedزمانی‌که متد استفاده شده کاربر برای درخواست منبع از سرور مجاز نیست، این کد کاربرد دارد.کد 406: Not Acceptableبرخی از سرورها به دلایل امنیتی از پذیرش برخی از درخواست‌ها خودداری می‌کنند. در چنین مواقعی کد 406 کاربرد دارد.کدهای وضعیت سری 500: خطای سمت سرورکد 500: Internal Server Errorکد 500 خطای داخلی در سرور را نشان می‌دهد که ممکن است ناشی از عوامل نرم‌افزاری، سخت‌افزاری و یا به‌روزرسانی باشد.کد 501: Not Implementedکد 501 زمانی ارسال می‌شود که امکان پردازش درخواست توسط سرور وجود ندارد.کد 502: Bad Gatewayعلت ارسال کد 502، عدم دریافت پاسخ از سرورهای بالادست است. در این وضعیت دروازه میانجی، بین سرور اصلی و واسط کاربری قرار دارد که قادر به تکمیل فرایند نیست. اما اغلب با تلاش مجدد کاربر، مشکل رفع خواهد شد.کد 503: Service Unavailableاین کد به دلیل عدم امکان دسترسی به سرور به دلیل ترافیک بالا و یا به‌روزرسانی اتفاق می‌افتد که اغلب موقتی است.کد 504: Gateway Timeoutزمانی‌که سرور به عنوان یک دروازه میانجی امکان دریافت پاسخ از سرور را در حداکثر زمان مجاز ندارد.کد 505: HTTP Version Not Supportedکد 505 نشان می‌دهد که نسخه HTTP پشتیبانی نمی‌شود.این کدها پیغام دارند!در مجموع هریک از این کدها نشانه‌ای از وضعیت سایت یا سرور هستند. گاهی همه چیز خوب پیش می‌رود کدی برای ما نمایش داده نمی‌شود و گاهی هم یک جای ماجرا ایراد دارد! در چنین مواقعی، این کدها هستند که با ما حرف می‌زنند. با این کدها تکلیف ما هم روشن می‌شود که آیا به تلاش خود ادامه دهیم، مدتی صبر کنیم یا کلا بیخیال شویم!