در دنیای وب، کاربران و مدیران سایتها با کدهای وضعیتی HTTP مختلفی روبرو میشوند که هر کدام نشاندهنده پیام خاصی بین مرورگر و سرور است. دستهای از این کدها، خطاهای سری 400 یا 4xx هستند که معمولاً به مشکلاتی در سمت کاربر اشاره دارند. در این مقاله به بررسی دقیق دلایل بروز این خطاها و ارائه راهکارهای عملی برای رفع هر یک از رایجترین انواع آن میپردازیم.
دلایل اصلی بروز خطاهای 4xx HTTP
این خطاها معمولاً زمانی رخ میدهند که مرورگر کاربر درخواستی نامعتبر یا ناقص به سرور ارسال میکند و سرور قادر به پردازش آن نیست. به عبارت دیگر، مشکل از سمت کاربر یا نرمافزار درخواستدهنده (مانند مرورگر) نشأت میگیرد، نه از سرور سایت. خطاهای 4xx طیف وسیعی از مشکلات را شامل میشوند، از درخواستهای بدشکل گرفته تا مشکلات مربوط به احراز هویت یا دسترسی. حال با دانستن این اطلاعات باید ببینیم چگونه میتوان این مشکلات را رفع کرد.
خطای ۴۰۰ (درخواست نامعتبر)
یکی از متداولترین خطاهای این سری، خطای 400 است که نشاندهنده یک درخواست نامعتبر از سمت کاربر به سرور است. سرور قادر به درک یا پردازش این درخواست نیست. وقتی این اتفاق میافتد، کاربر با خطای 400 مواجه میشود. برای رفع این خطا، ابتدا حافظه کش و کوکیهای مرورگر خود را پاک کنید و سپس صفحه را مجدداً بارگذاری کنید. در برخی موارد، حذف رکوردهای DNS کش شده نیز میتواند مفید باشد. امتحان کردن صفحه در یک مرورگر دیگر نیز راهکار ساده و مؤثری است.
خطای ۴۰۱ (نیاز به احراز هویت)
این خطا زمانی ظاهر میشود که دسترسی به صفحهای نیازمند احراز هویت (ورود به حساب کاربری) باشد و کاربر اطلاعات لازم را ارائه نکرده یا اطلاعات نادرست باشند. هرگونه تلاش برای دسترسی به صفحات محافظت شده بدون احراز هویت صحیح منجر به این خطا خواهد شد. برای رفع این مشکل، مراحل زیر را بررسی کنید:
- پاک کردن کش مرورگر.
- حذف کش مربوط به فایروال (در صورت استفاده).
- پاک کردن کش DNS.
- بررسی و غیرفعال کردن موقت افزونههای امنیتی سایت (اگر مدیر سایت هستید).
- اطمینان از صحت آدرس URL وارد شده.
اگر با انجام موارد بالا مشکل حل نشد، ممکن است نیاز باشد با شرکت ارائهدهنده خدمات هاستینگ خود تماس بگیرید.
خطای ۴۰۲ (نیاز به پرداخت)
این خطا کمتر رایج است و معمولاً در سایتهایی دیده میشود که دسترسی به محتوای آنها نیازمند پرداخت هزینه یا خرید اشتراک است. در صورتی که پرداخت انجام نشده باشد یا سیستم پرداخت با مشکل مواجه شود، این خطا نمایش داده خواهد شد. برای رفع این خطا که یکی از کدهای 4xx است، چه باید کرد؟ به عنوان مدیر سایت، از عملکرد صحیح درگاه پرداخت خود اطمینان حاصل کنید. وضعیت پرداخت کاربر را بررسی نمایید و در صورت لزوم با تیم پشتیبانی سرویس هاست خود تماس بگیرید.
خطای ۴۰۳ (دسترسی ممنوع)
یکی دیگر از خطاهای رایج سری 400، خطای 403 است که به معنای ممنوعیت دسترسی است. این خطا نشان میدهد که سرور درخواست کاربر را دریافت کرده و متوجه منظور آن شده، اما به دلیل عدم وجود مجوزهای لازم، از ارائه پاسخ خودداری میکند. برای حل این مشکل، اگر کاربر هستید، صفحه را رفرش کنید، کش مرورگر را پاک نمایید، آدرس وارد شده را مجدداً بررسی کنید، و در نهایت از مرورگر دیگری امتحان کنید. اما اگر شما مدیر وبسایت هستید، موارد زیر را حتماً بازبینی کنید:
- بررسی افزونههای نصب شده
- بررسی مجوزهای فایلها
- غیرفعال کردن CDN
خطای ۴۰۴ (یافت نشد)
یکی از آشناترین خطاهای وب، خطای 404 است. این خطا زمانی رخ میدهد که سرور نتواند منبع (صفحه، فایل یا تصویر) مورد درخواست کاربر را پیدا کند. معمولاً این اتفاق زمانی میافتد که صفحهای حذف شده باشد یا آدرس آن تغییر کرده باشد. برای جلوگیری از این خطا، اصلیترین کار تنظیم ریدایرکت برای صفحه حذف شده است اما اقدامات دیگری نیز باید در نظر گرفت. رفع خطای 404 به صورت زیر انجام میشود:
- شناسایی و اصلاح لینکهای شکسته
- تنظیم ریدایرکت 301 برای صفحات حذف شده به صفحات مرتبط جدید
خطای ۴۰۵ (متد غیرمجاز)
اگر سرور متد HTTP مورد استفاده در درخواست کاربر (مانند GET، POST، PUT، DELETE) را برای منبع درخواستی پشتیبانی نکند، خطای 405 را نمایش خواهد داد. برای رفع این خطا باید تمام بروزرسانیهای اخیر سایت خود را بررسی کنید. همچنین باید اشکالات احتمالی در دیتابیس سایت را مورد بررسی و اصلاح قرار دهید.
خطای ۴۰۷ (نیاز به احراز هویت پروکسی)
یکی دیگر از خطاهای سری 400، خطای 407 یا Proxy Authentication Required است که اگر کاربر قبل از احراز هویت خود از طریق سرور پروکسی درخواستی ارسال کند، ممکن است با این خطا مواجه شود. برای رفع این خطا، به عنوان مدیر سایت یا مسئول شبکه، باید تنظیمات مربوط به سرور پروکسی را بررسی کنید که آیا درست تنظیم شده یا خیر.
خطای ۴۰۸ (زمان درخواست به پایان رسید)
اگر بار ترافیکی زیادی روی سرور باشد یا اتصال کاربر کند باشد و زمان پاسخگویی سرور به پایان برسد، با این خطا مواجه خواهیم شد. برای رفع خطای 408 یا به اصطلاح Request Timeout باید موارد زیر را مورد بررسی قرار دهید: اگر کاربر هستید و در مشاهده سایت با این خطا مواجه شدهاید، اتصال شبکه را بررسی کرده و سپس صفحه را رفرش کنید. اگر مدیر سایت هستید، باید میزان بار روی سرور را بررسی کنید و به بهینهسازی کدهای سایت بپردازید.
خطای ۴۱۰ (حذف شده)
اگر صفحهای در سایت به هر علتی به صورت دائمی حذف شده و در دسترس نباشد، کاربر با خطای 410 مواجه میشود. برای رفع این مورد از ارورهای 400، حذف کامل لینکهای اشاره کننده به صفحه حذف شده و ریدایرکت کردن صفحاتی که دیگر در دسترس نیستند، کارهایی هستند که باید انجام دهید.
خطای ۴۱۲ (پیششرط ناموفق)
کاربر درخواستی را ارسال میکند که با یک یا چند پیششرط تعیین شده در هدر درخواست توسط سرور مطابقت ندارد و در این صورت خطای 412 را دریافت میکند. برای رفع این خطا کافیست ابتدا آدرس موردنظر را صحت سنجی کنید و در صورتی که مشکلی وجود نداشت کش مرورگر را پاک کنید.
خطای ۴۱۳ (حجم درخواست بزرگ)
گاهی حجم بدنه درخواست ارسالی کاربر برای سرور بالاست و امکان پردازش برای آن وجود ندارد. به همین علت کاربر با خطای 413 مواجه میشود. در مواجهه با این ارور از سری 400، صاحب سایت باید وارد عمل شده و تنظیمات مربوط به حداکثر حجم درخواست را در سرور افزایش دهد یا دادههای غیرضروری را از درخواست حذف کند.
خطای ۴۱۴ (آدرس URI بسیار طولانی)
خطای 414 یا به اصطلاح URI Too Long برای درخواستهایی با آدرس (URI) بسیار طولانی است که کاربر داده و سرور امکان پردازش آن را ندارد. برای رفع این مشکل حتما کش مرورگر خود را پاک کنید. اما اگر مشکل همچنان باقیست افراد صاحب سایت باید تنظیمات فایروال و وبسرور را چک کنند و با بررسی کدهای موجود در htaccess خطا را رفع نمایند. چنانچه پس از این پیگیریها مشکل همچنان باقیست باید با پشتیبانی سرور خود تماس بگیرید.
خطای ۴۱۵ (نوع رسانه پشتیبانی نشده)
این خطا به اصطلاح لاتین Unsupported Media Type نامگذاری شده که حاکی از ارسال یا درخواست یک نوع فایل (مثل تصویر با فرمت خاص) از سمت کاربر است که سرور از آن نوع رسانه پشتیبانی نمیکند. یعنی سرور از نوع فایل موردنظر پشتیبانی نکرده و شما را با خطای 415 مواجه میکند. برای رفع این خطا تنها کافیست به رسانهای که توسط سرور پشتیبانی میشود توجه کرده و از آن استفاده کنید.
خطای ۴۱۶ (محدوده درخواستی قابل اجرا نیست)
یکی دیگر از خطاهای سری 400، خطای 416 یا Range Not Satisfiable است. این خطا زمانی رخ میدهد که کاربر بخشی از فایلی در سایت (محدوده بایتی) را درخواست میکند که توسط سرور قابل ارائه نیست یا از اندازه واقعی فایل بزرگتر است. در این زمان با خطای 416 مواجه خواهیم شد. برای رفع این مشکل مسئولین سایت باید به تنظیمات سرور رفته و در قسمت وبسرور (مثل آپاچی) تنظیمات مربوط به Range Requests را بررسی و اصلاح کنند تا امکان ارائه محدودههای درخواستی از فایل فراهم شود.
خطای ۴۱۷ (انتظار برآورده نشد)
یکی دیگر از خطاهای 400، خطای Expectation Failed یا همان 417 است که مربوط به عدم توانایی سرور در برآورده کردن انتظار مشخصی است که در هدر Expect درخواست کاربر تعیین شده است. به عنوان مثال، اگر با یک آی پی که دسترسی آن محدود شده وارد سایتی شوید، این خطا به شما نمایش داده خواهد شد. برای رفع این مشکل باید فیلد هدر Expect را بررسی کرده و تنظیمات سرور مربوط به پردازش این هدرها را بررسی کنید. اگر مشکل حل نشد حتما با پشتیبانی سرور خود ارتباط بگیرید.
خطای ۴۱۸ (من یک قوری هستم!)
خطای I’m a teapot یا همان 418 یک خطای طنزگونه است که در یک اول آوریل تعریف شده و نباید آن را جدی گرفت.
خطای ۴۲۱ (درخواست به سرور اشتباه)
این خطا بابت ارسال درخواست توسط کاربر به سروری رخ میدهد که قادر به پاسخگویی برای نام دامنه درخواست شده نیست. برای رفع این خطا باید مراحل زیر را بررسی کنید:
- اطمینان از صحت آدرس وارد شده در مرورگر
- بررسی تنظیمات مربوط به DNS دامنه
- اطمینان از صحت آدرسهای ریدایرکت شده
خطای ۴۲۲ (نهاد غیرقابل پردازش)
خطای Unprocessable Entity یا 422 زمانی رخ میدهد که سرور متوجه درخواست کاربر شده و قالب آن صحیح است، اما محتوای درخواست از نظر معنایی یا منطقی قابل پردازش نیست. برای رفع این خطا اول از همه ببینید آدرسی را که در مرورگر وارد کردید اشتباه املایی نداشته باشد. اگر مدیر سایت هستید حتما کدهای سمت سرور و API را بررسی کنید تا اشتباهی در منطق پردازش آنها وجود نداشته باشد.
خطای ۴۲۳ (قفل شده)
چنانچه صفحه موردنظر برای کاربر قفل شده و سطح دسترسی در آن محدود شده باشد، کاربر خطای 423 از سری ارورهای 400 را دریافت میکند. برای رفع این خطا که 423 Locked نیز نام دارد، تنها کاری که میتوان انجام داد برداشتن محدودیت برای مشاهده صفحه موردنظر است که طبق نظر مدیر سایت انجام میشود.
خطای ۴۲۶ (نیاز به ارتقا)
زمانی که سرور از کاربر بخواهد از پروتکل جدیدتری (معمولاً نسخه جدید HTTP) برای ادامه ارتباط استفاده کند و کاربر از آن استفاده نکند، خطای 426 رخ میدهد. برای رفع این مشکل، در قدم اول مرورگر خود را بروزرسانی کرده و کش آن را پاک کنید. همچنین، اگر مدیر سایت هستید، تنظیمات پروتکلهای پشتیبانی شده در سرور را بررسی کنید.
جمع بندی
خطاهای کدهای وضعیت HTTP سری 400 نشاندهنده مشکلات و خطاهایی هستند که عمدتاً از سمت کاربر یا درخواستدهنده ناشی میشوند. شناخت دلایل این خطاها و دانستن راهحلهای رایج برای هر یک، به بهبود تجربه کاربری و مدیریت بهتر وبسایت کمک شایانی میکند.
ارسال پاسخ