خطاهای HTTP

Calendar

انتشار:

1404/07/01
Update Calendar

به روز رسانی:

1404/07/15

در این مقاله قصد داریم رایج‌ترین خطاهای HTTP را بررسی کنیم تا وبمسترها بدانند هر خطا چه مفهومی دارد و چگونه می‌توان آن را برطرف کرد. این موضوع برای جلوگیری از اختلال در سایت و حفظ تجربه کاربری اهمیت زیادی دارد.

خطای 400 (Bad Request)

زمانی که مرورگر کاربر درخواست ناقص یا اشتباه به سرور ارسال کند، خطای 400 نمایش داده می‌شود. برای مثال اگر لینکی در سایت به‌درستی نوشته نشده باشد، یا آدرس شامل کاراکترهای غیرمجاز باشد، این خطا رخ می‌دهد.
برای رفع مشکل لازم است لینک‌ها و آدرس‌های داخلی سایت را بازبینی کنید. استفاده از ابزارهای بررسی لینک شکسته (Broken Links) هم توصیه می‌شود. در برخی مواقع پاک کردن کش و کوکی مرورگر می‌تواند مشکل کاربر را برطرف کند، اما اگر تعداد زیادی از کاربران با این خطا مواجه شدند، ریشه مشکل در سایت است و باید لینک‌ها یا فرم‌ها اصلاح شوند.

خطای 401 (Unauthorized)

این خطا نشان‌دهنده این است که صفحه یا فایل مورد نظر تنها با احراز هویت قابل دسترس است، اما اطلاعات ورود یا ارسال نشده یا معتبر نیست. برای مثال، در بخش مدیریت سایت یا ناحیه‌های محافظت‌شده با رمز، اگر دسترسی کاربر درست پیکربندی نشده باشد، خطای 401 دیده می‌شود.
برای رفع آن باید تنظیمات دسترسی و مجوزهای سایت بررسی شوند. مطمئن شوید که نام کاربری و رمز عبور درست وارد می‌شود و سطح دسترسی در CMS یا هاست به‌درستی تنظیم شده است. در صورت استفاده از افزونه‌های امنیتی، باید مطمئن شوید محدودیت‌های اضافی باعث بروز این خطا نشده باشد.

خطای 403 (Forbidden)

خطای 403 زمانی نمایش داده می‌شود که سرور درخواست کاربر را می‌فهمد اما به‌طور صریح دسترسی به آن را ممنوع کرده است. برای مثال وقتی سطح دسترسی یک پوشه یا فایل روی هاست اشتباه تنظیم شده باشد یا فایل index وجود نداشته باشد، این خطا به‌وجود می‌آید.
برای رفع آن باید سطح دسترسی فایل‌ها (File Permissions) را بررسی کنید. معمولاً پوشه‌ها باید روی دسترسی 755 و فایل‌ها روی 644 قرار داشته باشند. همچنین باید مطمئن شوید فایل index.php یا index.html در پوشه اصلی وجود دارد. اگر مشکل از تنظیمات امنیتی هاست یا فایروال باشد، باید تنظیمات را اصلاح یا با پشتیبانی هاست در میان بگذارید.

خطای 404 (Not Found)

خطای 404 یکی از خطاهای رایج در وب‌سایت‌ها است. این خطا زمانی نمایش داده می‌شود که صفحه‌ای که کاربر درخواست کرده، روی سرور وجود نداشته باشد یا حذف شده باشد. بروز چنین خطایی هم روی تجربه کاربری تأثیر منفی می‌گذارد و هم می‌تواند بر سئوی سایت اثر منفی بگذارد.
برای رفع مشکل باید مطمئن شوید صفحه مورد نظر روی سرور وجود دارد. اگر صفحه حذف شده، بهتر است آن را به یک صفحه مرتبط دیگر ریدایرکت کنید (با ریدایرکت 301). در سیستم‌های مدیریت محتوا مانند وردپرس می‌توان از افزونه‌های مخصوص مدیریت ریدایرکت استفاده کرد. همچنین بهتر است یک صفحه اختصاصی 404 طراحی شود که کاربر را به بخش‌های اصلی سایت راهنمایی کند تا تجربه کاربری بهتر شود.

خطای 500 (Internal Server Error)

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

خطای 502 (Bad Gateway)

این خطا زمانی رخ می‌دهد که یک سرور به‌عنوان واسطه (Gateway یا Proxy) نتواند پاسخ معتبر از سرور اصلی دریافت کند. دلیل رایج آن می‌تواند اختلال در شبکه یا مشکلات نرم‌افزاری سرور باشد.
برای رفع این خطا در سطح کاربر، بارگذاری مجدد صفحه یا پاک کردن کش DNS کمک می‌کند. اما اگر خطا برای همه کاربران رخ می‌دهد، مدیر سایت باید سرورهای بالادستی و سرویس‌های متصل به سایت را بررسی کند. استفاده از CDN و بررسی کانفیگ Nginx یا Apache هم ضروری است.

خطای 503 (Service Unavailable)

زمانی که سرور موقتاً از دسترس خارج شود یا تحت فشار زیاد باشد، خطای 503 نمایش داده می‌شود. این خطا معمولاً هنگام به‌روزرسانی یا نگهداری سرور رخ می‌دهد.
برای رفع مشکل باید بررسی کنید که منابع هاست کافی باشد و میزان استفاده از پردازنده و رم به درستی کنترل شود. اگر در حال انجام عملیات نگهداری هستید بهتر است با ارسال پیام به کاربران اطلاع دهید. در صورتی که خطا به صورت مداوم تکرار شود، ارتقای سرویس یا بهینه‌سازی وب‌سایت لازم خواهد بود.

خطای 504 (Gateway Timeout)

این خطا مشابه خطای 502 است اما دلیل آن دیر پاسخ دادن سرور اصلی است. به عبارت دیگر، سرور واسطه در مدت‌زمان مشخصی پاسخی دریافت نکرده و درخواست را متوقف کرده است.
برای رفع آن باید بررسی کنید که سرور اصلی در حال پاسخ‌دهی باشد و اسکریپت‌های طولانی‌مدت باعث کندی بیش از حد نشده باشند. بهینه‌سازی دیتابیس و بررسی Timeout سرور وب هم می‌تواند مشکل را حل کند.


شناخت خطاهای HTTP و روش رفع آن‌ها برای هر وبمستری ضروری است. با آگاهی از علت بروز این خطاها می‌توان سریع‌تر مشکل را پیدا کرد و تجربه کاربری و پایداری سایت را بهبود بخشید.

آیا توانستیم چالش شما را حل کنیم؟