۱۰ خطای متداول 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 معمولا نشاندهندهی ارتباطات کُند بین دو سرور است و زمانی میتواند رخ دهد که سرور سطحبالاتر پایین است.
مقالههای مرتبط:
ازآنجاکه خطای ۵۰۴ یکی از خطاهای شبکه در پسزمینه است، تنها افرادی میتوانند آن را حل کنند که به شبکه دسترسی دارند. گاهی مانند دیگر خطاهای سمت سرور، میتوان با نوسازی صفحه مشکل را حل کرد. البته این شرایط وقتی بهنتیجه میرسد که ارائهدهندگان سرویس نیز مشکل را از سمت سرور حل کرده باشند.