آیا تابهحال به هنگام ورود به صفحهای از یک سایت با خطای ۴۰۴ مواجه شدهاید؟ چقدر در مورد خطاهایی که ممکن است در سمت سرور یک سایت اتفاق بی افتد آشنایی دارید؟ قطعاً برای شما هم پیشآمده که با باز کردن یک وبسایت با خطایی در صفحه مرورگر خود مواجه شوید. این خطاها معمولاً دارای عددی در کنار خود هستند و هرکدام معنی خاصی دارند که با دانستن معانی این ارور ها به راحتی میتوان نسبت به رفع آنها اقدام نمود. شناخت و استفاده صحیح از خطاهای سرور bounce rate سایت را کاهش میدهد، رتبه سایت شما در موتورهای جستجو را بهبود میدهد و همچنین دانش فنی شما را در زمینه کاربردپذیری سایت افزایش خواهد داد.
در این مقاله به معرفی کامل خطاهای رایج در اینترنت خواهیم پرداخت.
آشنایی با وضعیت کدها
هنگامی که درخواستی برای سرور یک سایت ارسال میشود، وب سرور یک کد به مرورگر ارسال میکند. این کد از سه رقم تشکیل شده که رقم اول آن بیانگر یک وضعیت خاص است.
مفهوم این ارقام عبارت است از:
- ۱XX: انتقال بستههای اطلاعات
- ۲XX: عملیات موفق
- ۳XX: انتقال مسیر
- ۴XX: وجود خطا در سمت سرویس گیرنده
- ۵XX: وجود خطا در سمت سرور
کدهایی که رقم اول آنها ۴ و ۵ است مربوط به خطاهایی میشوند که کاربر ممکن است با آنها رو به رو شود که خود شامل انواع مختلفی هستند.
وجود این قبیل خطاها در صفحات HTML باعث میشود تا کاربران از اتفاقاتی که در سمت وب سرور رخ میدهد با خبر شوند. در ادامه به بررسی موردی آنها خواهیم پرداخت.
خطاهای سمت سرویس گیرنده
ارور ۴۰۰ – درخواست اشتباه (Bad Request)
پیغام خطای درخواست اشتباه ۴۰۰ زمانی نشان داده میشود که درخواست ارسالی مرورگر شما به سرور سایت (برای مثال درخواست باز کردن یک صفحه خاص)، دچار نوعی ناهنجاری باشد و سرور قادر به فهم درخواست شما نباشد. این خطا معمولاً زمانی روی میدهد که در اطلاعات ارسالی از سوی مرورگر، قوانین پروتکل http رعایت نشده باشد.
تا هنگامی که سرور درخواست شما را درک نکند، نمیتواند آن را انجام دهد و در نتیجه شما با خطای ۴۰۰ روبرو خواهید شد.
کد ۴۰۰ به دلیل درک نشدن شیوه نگارش (syntax) درخواست واسط کاربری از سرور رخ میدهد، در این حالت مفهوم و معنای تقاضای کاربر برای سرور روشن نیست و درخواست قابل پردازش نیست، این خطا ممکن است به دلایل دیگر، از جمله نقص در انتقال دادهها (برای مثال به دلیل قطع یا کاهش سرعت ارتباط) نیز رخ دهد.
ارور ۴۰۱ – درخواست نامعتبر (Authorization Required)
کد خطای ۴۰۱ به معنای دسترسی غیر مجاز و نامعتبر است، در این حالت منبع مورد درخواست به طور کامل محدود نشده است، بلکه درخواست کاربر نیاز به تأیید مجوزهای دسترسی (به طور معمول نام کاربری و کلمه عبور) دارد، به همین دلیل سرور در پاسخ خود یک فرم از نوع “WWW-Authenticate” را ارسال کرده و از کاربر میخواهد تا اعتبار خود را اثبات کند.
همچنین درخواستهای نامعتبر متعدد برای دسترسی به منبعی خاص که با نام کاربری و رمز عبور محدود شده باشد کاربر را به صفحه خطای ۴۰۱ منتقل خواهد کرد.
برای محدود کردن یک منبع یا مسیر در وبسایت خود میتوانید از حساب کاربری خود در سی پنل استفاده نمایید.
برای این کار کافیست روی گزینه “Password Protect Directories” از قسمت “Security” در حساب سی پنل خود کلیک کنید. برای مثال محافظت از مسیر WP-admin باعث افزایش امنیت وبسایت وردپرسی شما خواهد شد.
ارور ۴۰۳ – دسترسی غیر مجاز (Forbidden)
کد ۴۰۳ مربوط به مواقعی است که کاربر درخواست منبعی را از سرور دارد که دسترسی به آن برای تمامی کاربران محدود شده است، این حالت با کد ۴۰۱ کاملاً متفاوت است، در اینجا حتی با ورود نام کاربری و کلمه عبور نیز امکان دسترسی به منبع مقدور نخواهد بود، معمولاً مدیران سایتها، دسترسی مستقیم به فولدرها و نمایش فایلها به صورت لیست را غیر فعال میکنند، در نتیجه وقتی آدرس یک فولدر را از آن سرور درخواست میکنیم، با خطای ۴۰۳ مواجه خواهیم شد.
شما میتوانید با استفاده از این قابلیت از مسیرها و منابع موجود در سایت خود محافظت کرده و دسترسی آن هارا محدود نمایید.
خوشبختانه بسیاری از شرکتهای سرویس دهنده میزبانی وب، این قابلیت را به کاربران خود ارائه میدهند. اما اگر بخواهید یک لایه امنیتی قویتر در سایت خود ایجاد نمایید میبایست به حساب کاربری CPanel رفته، سپس در قسمت “Advanced” گزینه “Index Manage” انتخاب نمایید.
در این بخش شما میتوانید سطح دسترسی به دایرکتوریها را برای کاربران خود محدود نمایید. در صورتی که از میان گزینههای موجود گزینه “No Indexing” را انتخاب نمایید کاربران به هنگام بازدید از آن بخش با خطای ۴۰۳ مواجه خواهند شد.
ارور ۴۰۴ – صفحه مورد نظر یافت نشد (Not Found)
خطای ۴۰۴ یکی از خطاهای بسیار رایج در اینترنت است که در سمت سرویس گیرنده رخ میدهد.
منابع زیادی مانند صفحات، فایلها و … در یک وب سرور وجود دارند. هنگامی که کاربر قصد بازدید از یک صفحه یا فایل را داشته باشد، درخواستی به سمت وب سرور ارسال میشود و وب سرور صفحهی مورد نظر را به کاربر برمیگرداند. حال زمانی که این صفحه در طرف سرور وجود نداشته باشد خطای ۴۰۴ به کاربر بازگردانده میشود.
وجود لینکهای شکسته و ورود آدرس غلط در مرورگر از جمله عوامل ایجاد این خطا توسط کاربر در وب سایت هستند.
اکثر کارشناسان سئو معتقدند که خطای ۴۰۴ میتواند باعث کاهش رتبه سایت در موتورهای جستجو شود. اما گوگل اعتقاد دارد که وجود این ارور طبیعی بوده و مدیران وب میتوانند بدون در نظر گرفتن آن به فعالیت خود ادامه دهند.
درصورتی که قصد دارید برای کاهش نرخ پرش (Bounce Rate) این مشکل را برطرف نمایید میبایست URL های قدیمی را حذف نموده و با ریدایرکت ۳۰۲ به آدرسهای جدید منتقل نمایید. ولی اگر این آدرسها توسط سایتهای دیگر به سایت شما لینک شده باشند باید از ریدایرکت ۳۰۱ جهت انتقال مسیر URL ها استفاده نمود.
ارور ۴۰۸ – پایان زمان درخواست (Request Time-Out)
هنگامی که مدت زمان ارسال درخواست طولانی شود، سرور ارتباط را قطع کرده و خطای ۴۰۸ را در مرورگر کاربر نمایش خواهد داد. معمولاً دلیل بروز این ارور عدم دریافت درخواست کامل از کاربر، در زمان مقرر است. همچنین از جمله دلایل وقوع خطای ۴۰۸ میتوان به حجم بالای پردازشها در سرور اشاره کرد.
در صورتی که ارتباط بین دو طرف به خوبی بر قرار شده باشد اما سرعت این ارتباط کم باشد میتوان از صفحههای سفارشی (مانند: ارور ۴۰۴) برای این نوع از خطا استفاده نمود.
ارور ۴۱۰ – حذف منبع (Gone)
این خطا تا حد زیادی شبیه به خطای ۴۰۴ بوده با این تفاوت که در صورت بروز ارور ۴۰۴، ممکن است صفحه مورد نظر در مسیر دیگری قرار گرفته باشد اما در خطای ۴۱۰ منبع یا صفحه مورد نظر از سرور حذف شده است.
کد ۴۱۰ به معنی حذف همیشگی منبع درخواستی از سرور است، بر خلاف خطای ۴۰۴، کد ۴۱۰ به واسط کاربری یا موتورهای جستجو اعلام میکند که نباید مجدداً آن منبع را ایندکس کنند چرا که برای همیشه حذف شده است، البته در عمل موارد استفاده از این کد بسیار محدود است و تنظیم خطای ۴۰۴ آسانتر و اصولی تر است.
مت کاتز ، یکی از مدیران ارشد شرکت گوگل، در این ویدیو مفهوم و تفاوت خطاهای ۴۰۴ و ۴۱۰ را بیشتر توضیح داده است.
خطاهای سمت سرور
ارور ۵۰۰ – خطای داخلی سرور (Internal Server Error)
خطای ۵۰۰ یا خطای داخلی سرور همانطوری که از نامش پیداست به خطاهای سمت سرور مربوط میشود. هرگاه در سمت سرور مانعی برای پاسخگویی به درخواستهای کاربران وجود داشته باشد این خطا در مرورگر نمایش داده خواهد شد.
اگرچه این مشکل به خودی خود حل نمیشود اما ممکن است بعد از حل ایرادات، به دلیل Cache مرورگر، همچنان خطای ۵۰۰ نمایش داده شود. برای اطمینان از وضعیت سرور میتوانید کَش مرورگر و کوکیهای تنظیم شده را حذف کرده و مرورگر خود را بسته و مجدد باز کنید.
نکته: برای بررسی دقیق تر این خطا میتوان از ابزار وبمستر گوگل نیز استفاده نمود.
در صورتی که این خطا را در سایت خود مشاهده کردید پیش از تماس با سرویس دهنده میزبانی خود فایل htaccess و پلاگین های نصب شده را بررسی کرده و مشکلات احتمالی آنها را بر طرف نمایید.
ارور ۵۰۲ – مشکل در سرورهای اصلی (Bad Gateway)
ارور ۵۰۲ (Bad Gateway) از جمله خطاهای سمت سرور است. زمانی که یکی از سرورها نتواند به Gateway یا Proxy جوابی معتبر بدهد، کاربر با این خطا مواجه خواهد شد.
خطای ۵۰۲ (Error ٥٠٢) یا همان خطای Bad Gateway به معنای “به وجود آمدن مشکل برای یکی از سرورهای اصلی” است. این خطا یکی از کدهای وضعیت HTTP است که به عنوان خطا شناخته میشود. خطای ۵۰۲ ممکن است در همه سیستم عاملها با همه مرورگرهای قدیمی یا جدید پدیدار شود چون این خطا از کلاس ۵xx بوده و خطایی از سمت سرور است.
خطای ۵۰۲ به دلیل عدم دریافت پاسخ از سرورهای بالادست (upstream) است و سرور فعلی به عنوان یک دروازه میانی یا “Gateway” عمل میکند، در این حالت معمولاً بین سرور اصلی و واسط کاربری، دروازههای میانی (Gateway) وجود دارند که قادر به تکمیل فرایند ارسال و دریافت پاسخ نیستند، این حالت معمولاً با چندین بار تلاش از سوی کاربر رفع خواهد شد.
ارور ۵۰۳ – سرویس خارج از دسترس (Service Temporarily Unavailable)
خطای ۵۰۳ به معنای عدم دسترسی به سرور به دلیل حجم ترافیک زیاد (overload) یا انجام به روزرسانی است، معمولاً این حالت موقتی بوده و پس از چند دقیقه یا چند ساعت رفع خواهد شد.
نکته: صاحبان وب سایتها میبایست دانش کاملی در مورد این خطا داشته باشند چرا که ممکن است وجود آن بر رتبه یک سایت تأثیر منفی بگذارد.
ارور ۵۰۴ – پایان حداکثر زمان دروازه میانی (Gateway Time-Out)
خطای ۵۰۴ نیز بدین معناست که سرور به عنوان یک دروازه میانی (Gateway) قادر به دریافت پاسخ از سرورهای بالا دست (upstream) در حداکثر زمان مجاز نیست.
تفاوت این خطا با خطای ۴۰۸ در این است که این ارور بر اثر طولانی شدن ارتباط میان دو سرور داده میشود.
از عوامل ایجاد این خطا میتوان به مشکلات شبکه نیز اشاره کرد که با دسترسی به شبکه میتوان این ایراد را مانند سایر خطاهای سمت سرور برطرف نمود.