آشنایی با ۱۰ خطای متداول HTTP

خطاهای HTTP زمانی رخ می دهند که در سمت کلاینت یا سرور یا هر دو مشکلی وجود داشته باشد. دانستن این خطاها به کاربران و صاحبان  وب سایت در مدیریت و دسترسی بهتر به وب سایت کمک می کند.

به جز خطای ۴۰۴، چقدر درباره ی دیگر صفحات خطای HTML می دانید؟ آیا تاکنون به این فکر کرده اید که پشت صفحات خطای HTML چه اتفاقی رخ می دهد؟ این کدها اطلاعات مهمی به کاربر منتقل می کنند؛ به ویژه اگر صاحب وب سایتی هستید، بهتر است درباره ی کدها و خطاهای متداول بدانید و با استفاده ی صحیح از این داده ها، نرخ پرش کاربران را کاهش و رتبه بندی موتور جستجو را بهبود دهید و به اطلاعاتی درباره ی عملکرد وب سایتتان برسید.

درک کدهای وضعیت

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

  • 1XX: اهداف این کدها اطلاع به کاربر است.
  • 2XX: نشان دهنده ی موفقیت است.
  • 3XX: نشان دهنده ی تغییر مسیر است.

هیچ کدام از این سه دسته به صفحه ی خطای HTML منجر نمی شوند؛ زیرا در این نمونه ها، کلاینت می داند باید چه کار کند و بی تردید وظیفه ی خود را ادامه می دهد. معمولا کاربران با کدهایی از نوع 4XX و 5XX رو به رو می شوند:

  • 4XX: نشان دهنده ی خطاهای سمت کلاینت است.
  • 5XX: نشان دهنده ی خطاهای سمت سرور است.

درصورت نمایش کدهای یادشده، صفحات خطا نمایش داده می شوند؛ اما هنگام بروز این خطاها، در پس زمینه چه اتفاقی رخ می دهد و چگونه می توان این مشکلات را حل کرد.

خطاهای سمت کلاینت (4XX)

۱. 400 Bad Request

وقتی کلاینت درخواستی ارسال می کند که برای سرور مفهوم نیست، خطای 400 Bad Request روی صفحه نمایش داده می شود. این خطا معمولا هنگامی رخ می دهد که داده های ارسالی مرورگر از قوانین پروتکل HTTP تبعیت نمی کنند؛ درنتیجه، سرور وب درباره ی پردازش درخواست شامل دستورالعمل ناقص ایده ای ندارد.

دلیل نمایش صفحه ی خطای ۴۰۰ این است که احتمالا چیزی در قسمت کلاینت ناپایدار است. این خطا می تواند به دلیل سیستم عاملی باشد که امنیت مناسبی ندارد یا به دلیل اتصال اینترنتی ناپایدار یا مرورگر معیوب یا مشکل Cache باشد. از این رو، همیشه توصیه می کنیم کامپیوتر شخصی خود را قبل از اتصال به وب سایت آزمایش کنید. صفحه ی مدنظر را در مرورگر دیگری باز کنید و Cache را پاک و به روزرسانی های امنیتی را بررسی کنید. اگر مرتب با خطای ۴۰۰ در وب سایت های مختلف رو به رو شدید، به تهیه ی پشتیبان امنیتی نیاز دارید.

۲. 401 Authorization Required

وقتی درخواست کلاینت به صفحه ای دارای رمز عبور ختم شود، سرور کد خطای 401 Authorization Required را منتشر می کند. ۴۰۱ به صورت یک جا پیغام خطای کلاسیک را منتشر نمی کند؛ بلکه در ابتدا پنجره ی پاپ آپی ظاهر می شود که از کاربر می خواهد ترکیب لاگین رمز عبور (Login, Password) را وارد کند.

اگر رمز عبور را برای ورود به صفحه ی مدنظر در اختیار دارید، همه چیز به خوبی پیش می رود و می توانید بدون بروز مشکل وارد وب سایت شوید و به آن دسترسی پیدا کنید؛ در غیر این صورت، به صفحه ی خطای Authorization Required منتقل می شوید. اگر صاحب وب سایتی هستید، می توانید قابلیت رمز عبور را از طریق اکانت cPanel اضافه کنید. روی زیرمنو Password Protect Directories در باکس منو Security کلیک و پوشه ی وب مدنظر را انتخاب کنید. این قابلیت می تواند به عنوان لایه ی امنیتی مناسبی دسترسی به بخش ادمین و پوشه های wp-admin را در وب سایت وردپرس محدود کند.

۳. 403 Forbidden

اگر سرور، درخواست کلاینت را واضح درک نکند و به دلایلی اجرای آن را رد کند، با صفحه ی خطای 403 Forbidden رو به رو می شوید. این خطا نه مشکل احراز هویت است و نه اطلاعات ناقص. در این خطا، سرور درخواست کلاینت را بدون هیچ توضیحی رد می کند. متداول ترین دلیل این مشکل آن است که صاحب وب سایت به بازدیدکنندگان اجازه ی مرور ساختار File Directory وب سایت را نمی دهد. وقتی این قابلیت امنیتی فعال باشد، نمی توانید مستقیما به پوشه های وب سایت دسترسی پیدا کنید. دلیل متداول دیگر مشکل مذکور این است که فایل درخواستی کلاینت غیرمجاز است و نمی توان به آن از طریق وب دسترسی پیدا کرد.

می توانید خطای امنیتی ۴۰۳ را برای وب سایت خود فعال کنید. این ویژگی زمانی مفید است که بخواهید با مخفی کردن فایل ها و پوشه ها از وب سایت خود دربرابر حملات هک محافظت کنید. خوشبختانه بسیاری از هاست های وب این سرویس را به صورت پیش فرض به کلاینت خود ارائه می دهند؛ اما برای اضافه کردن لایه ی امنیتی دیگر، حساب cPanel خود را باز کنید و به منو Advanced بروید و روی Index Manager کلیک کنید. در این بخش، می توانید نحوه ی بازدید از پوشه ی مشخصی در وب سایت خود را سفارشی سازی کنید. اگر No Indexing را انتخاب کنید، کلاینت پس از تلاش برای دسترسی به پوشه ی مدنظر، با صفحه ی خطای ۴۰۳ رو به رو می شود.

۴. 404 Not Found

۴۰۴ متداول ترین و شناخته شده ترین کد وضعیت HTTP است. مرورگر زمانی این صفحه را نمایش می دهد که سرور درخواست کلاینت را پیدا نمی کند. دو سناریو اصلی باعث نمایش صفحه ی 404 Not Found می  شوند:

  • اولین سناریو وقتی اتفاق می افتد که بازدیدکننده URL را به اشتباه تایپ کرده است.
  • دومین سناریو زمانی رخ می دهد که ساختار پرمالینک وب سایت تغییر کرده است و لینک های ورودی به صفحاتی اشاره می کنند که به موقعیت های دیگری منتقل شده اند.

صفحات خطای ۴۰۴ گاهی روی URLهای برجسته هم ظاهر می شوند. این خطا معمولا زمانی رخ می دهد که وب سایت به تازگی به سرور وب دیگری منتقل شده است و DNS هنوز به موقعیت قبلی آن اشاره می کند. این مشکل معمولا پس از مدت کوتاهی رفع می شود.

به اعتقاد بسیاری از کارشناسان سئو، تعداد زیاد خطای ۴۰۴ تأثیری منفی بر رتبه بندی موتور جستجوی وب سایت می گذارد. با وجود این بر اساس ادعای گوگل، خطاهای ۴۰۴ تأثیری بر رتبه بندی گوگل نمی گذارند و می توانید آن ها را نادیده بگیرید؛ زیرا این خطاها بخش عادی از وب و موتورهای جستجو هستند. با این حال، شاید بخواهید برای کاهش نرخ پرش (ترک وب سایت به دست کاربران)، تعداد خطاها را کاهش دهید. متداول ترین راه حل برای کاهش این خطاها استفاده از مسیرهای ۳۰۱ برای صفحات حذف شده و مسیرهای ۳۰۲ برای صفحاتی است که موقتا از دسترس خارج شده اند.

۵. 408 Request Time Out

وقتی درخواست کلاینت مدت زیادی به طول بینجامد، زمان سرور به پایان می رسد و اتصال را می بندد. در این وضعیت، مرورگر پیغام خطای 408 Request Time-Out را نمایش می دهد. اتمام زمان وقتی رخ می دهد که سرور در بازه ی زمانی تعیین شده برای انتظار، درخواست کاملی از سوی کلاینت دریافت نکند. خطاهای ۴۰۸ پی در پی زمانی رخ می دهند که بار کاری سنگینی روی سرور یا سیستم کلاینت قرار داشته باشد.

بعضی مواقع هر دو طرف اتصال به درستی کار می کنند؛ اما نوسان های موقتی اینترنت باعث کُند شدن فرایند تحویل پیغام می شوند. وب سایت های بزرگ تر معمولا صفحات خطای ۴۰۸ را سفارشی سازی می کنند. خطاهای ۴۰۸ را می توان با بارگذاری مجدد صفحه به کمک دکمه ی f5 برطرف کرد.

۶. 410 Gone

صفحه ی خطای 410 Gone به خطای مشهور ۴۰۴ بسیار نزدیک است و هر دو به این معنی هستند که سرور فایل درخواست را پیدا نمی کند. با اینکه ۴۰۴ نشان می دهد فایل هدف جایی در سرور قرار دارد، خطای ۴۱۰ در مشکلی دائمی ریشه دارد. خطای ۴۱۰ به کلاینت نشان می دهد منبع درخواستی او عمدا از دسترس خارج شده است و صاحب وب سایت می خواهد لینک های ورودی را از وب حذف کند. درمقابل، ۴۰۴ زمانی رخ می دهد که سرور از حذف دائمی فایل مطمئن نیست؛ اما ۴۱۰ قطعیت بیشتری دارد. اگر صاحب وب سایت هستید، درک تفاوت خطاهای ۴۰۴ و ۴۱۰ و رفتار متفاوت گوگل کراولرها با آن ها ضروری است.

خطاهای سمت سرور (5XX)

۱. 500 Internal Server Error

خطای سرور داخلی متداول ترین خطای سمت سرور است و زمانی رخ می دهد که سرور با شرایط غیرمنتظره ای رو به رو می شود که از اجرای درخواست کلاینت جلوگیری می کند. کد خطای ۵۰۰ از نوع عمومی است. اگرچه در این نمونه مشکل از سمت کلاینت نیست، می توان با اقداماتی مثل بارگذاری مجدد صفحه (به دلیل موقتی بودن خطا) و پاک کردن کش مرورگر (به دلیل ارتباط این مشکل با نسخه ی کش شده ی وب سایت) و حذف کوکی های مرورگر و ری استارت آن مشکل را حل کرد. همچنین، می توانید با وب مستر خود تماس بگیرید (مانند بسیاری از مشکلات دیگر سمت سرور).

اگر با صفحه ی خطای ۵۰۰ در وب سایتتان رو به رو شدید، بهتر است با ارائه دهنده ی هاست تماس بگیرید. یکی از دلایل این خطا می تواند خطای مجوز یا فایل خراب .htaccess یا محدودیت اندک حافظه باشد. اگر وردپرس دارید، دلیل خطای ۵۰۰ می تواند پلاگین های جانبی باشند. برای کشف این مشکل، پلاگین ها را تک تک غیرفعال کنید تا پلاگین مقصر را بیابید.

۲. 502 Bad Gateway

پیغام خطای ۵۰۲ نشان دهنده ی مشکل ارتباطی بین دو سرور است. این خطا زمانی رخ می دهد که کلاینت متصل به سرور به عنوان گیت وی یا پراکسی عمل کند که به دسترسی به سرور Upstream نیاز دارد و سرویس های بیشتری برایش فراهم می کند. این سرور در قسمت بالاتر سلسله مراتب سرورها قرار دارد و برای مثال می تواند سرور وب آپاچی باشد که دسترسی به آن از طریق پراکسی سرور امکان پذیر است یا می تواند سرور ارائه دهنده ی بزرگ اینترنتی باشد که دسترسی با آن ازطریق Local Name Server ممکن است.

وقتی با صفحه ی خطای Bad Gateway رو به رو می شوید، سرور پاسخ نامعتبری از سرور Upstream دریافت می کند. در اغلب مواقع، این پیغام به معنی خاموش بودن سرور بالایی نیست؛ بلکه ممکن است دو سرور درباره ی نحوه ی تبادل داده ها به توافق نرسند. این خطا معمولا زمانی رخ می دهد که یکی از ماشین ها به اشتباه تنظیم یا برنامه ریزی شده باشد. در چنین وضعیتی، با ارائه دهنده ی هاست خود تماس بگیرید.

۳. 503 Service Temporarily Unavailable

درصورت وجود سر بار موقتی روی سرور یا هنگام نگه داری زمان  بندی شده (Scheduled Maintenance) با پیغام خطای Service Temporarily Unavailable رو به رو می شوید. کد خطای ۵۰۳ بدین معنی است که سرور وب درحال حاضر در دسترس نیست. این وضعیت معمولا موقتی است و پس از کمی تأخیر حل خواهد شد. اگر صاحب وب سایت هستید، درباره ی اطلاعات کافی درباره ی کد خطای ۵۰۳ باید داشته باشید تا بتوانید نگه داری زمان بندی شده ی وب سایت را به درستی کنترل کنید. اگر نگه داری زمان بندی شده را به خوبی کنترل نکنید، رتبه بندی وب سایت در موتور جستجو تنزل پیدا خواهد کرد.

۴. 504 Gateway Time Out

خطای Gateway Time Out درست مانند کد خطای 502 Bad Gateway به مشکل خطای سرور به سرور اشاره می کند. وقتی کد خطای ۵۰۳ ظاهر  می شود، سرور سطح بالاتری در پس زمینه وجود دارد که داده ها را به سرور متصل به کلاینت ارسال می کند. این خطا زمانی رخ می دهد که سرور سطح پایین تر پاسخ به هنگامی از سرور سطح بالاتر دریافت نمی کند.

خطای ۵۰۴ مشابه خطای اتمام زمان 408 Request Time Out است، با این تفاوت که بین کلاینت و سرور رخ نمی دهد؛ بلکه بین دو سرور در پس زمینه رخ می دهد. صفحه ی خطای Gateway Time Out معمولا نشان دهنده ی ارتباطات کُند بین دو سرور است و زمانی می تواند رخ دهد  که سرور سطح بالاتر پایین است.

ازآنجاکه خطای ۵۰۴ یکی از خطاهای شبکه در پس زمینه است، تنها افرادی می توانند آن را حل کنند که به شبکه دسترسی دارند. گاهی مانند دیگر خطاهای سمت سرور، می توان با نوسازی صفحه مشکل را حل کرد. البته این شرایط وقتی به نتیجه می رسد که ارائه دهندگان سرویس نیز مشکل را از سمت سرور حل کرده باشند.

منبع: زومیت.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

ده − هفت =

لطفا پاسخ عبارت امنیتی را در کادر بنویسید. *