خطای 400 bad request یک کد بازگشتی HTTP از سمت وب سرور می باشد و به مرورگر کاربر اعلام می کند که درخواست ارسالی را متوجه نشده است. این خطا به طور کامل مشکل را شرح نمی دهد اما در مجموع خطای HTTP 4xx، یک خطای سمت کاربر است. رویت خطای فوق بدان معنا است که معمولاً این مشکل مربوط به مرورگر، رایانه، موبایل یا هر دستگاه دیگری می شود که کاربر برای دسترسی به وب سایت از آن استفاده می کند.
با این حال خطای HTTP 400 آنچنان جدی نیست و ارائه سرویس را تحت تأثیر قرار نمی دهد. همچنین راه های زیادی برای رفع آن نیز وجود دارد.
bad request 400 چیست؟ چرا ایجاد می شود و چگونه می توان آن را برطرف نمود؟
در این مقاله، تمام مواردی که باید در مورد این خطا بدانید و نحوه برطرف کردن آن، شرح داده خواهد شد.
خطای 400 Bad Request چیست؟
تصویر(1)
خطای 400 bad request یک خطای HTTP است و زمانی رخ می دهد که درخواست ارسال شده از مرورگر کاربر، توسط وب سرور قابل درک نباشد.
این خطا یکی از مجموعه خطاهای HTTP 4xx است که به عنوان خطاهای سمت کاربر شناخته می گردند زیرا مربوط به کاربر (مرورگر یا دستگاه کاربر) می شوند.
مواقعی نیز وجود دارد که خطای bad request 400 یک خطای سمت کاربر نیست. این مورد معمولاً زمانی رخ میدهد که در حال آپلود یک فایل در وب سایت هستید که در ادامه به نحوه رفع این مشکل نیز اشاره شده است.
خانواده خطای HTTP 4xx شامل موارد زیر است:
400 Bad Request : سرور درخواست را درک نکرده است.
401 Unauthorized : احراز هویت مورد نیاز انجام نشده است.
402 Payment Required : کد خطای 402 بیانگر دستیابی به یک محتوای پولی می باشد که کاربر پس از پرداخت هزینه می تواند به آن دسترسی داشته باشد. البته خاطرنشان می شود که این مورد هم اکنون استفاده چندانی ندارد. گاهی اوقات، این کد وضعیت نشان می دهد تا زمانی که مشتری پرداختی را انجام ندهد، درخواست قابل پردازش نیست.
403 Forbidden : مرورگر مجوز دسترسی به این درخواست را ندارد.
404 Not Found : صفحه ای که به دنبال آن هستید وجود ندارد یا پیدا نمی شود.
405 Method Not Allowed : نوع درخواست مجاز نیست یا پشتیبانی نمی شود.
406 Not Acceptable : سرور نمی تواند داده ها را در فرمت درخواست شده ارائه دهد.
407 Proxy Authentication Required : درخواست ابتدا باید توسط یک پروکسی تایید شود.
408 Request Timeout : سرور درخواست را به موقع دریافت نکرد.
409 Conflict : کد وضعیت HTTP 409 (تعارض) نشان میدهد که به دلیل تداخل، درخواست پردازش نمیشود. مثلاً منبع درخواست شده با درخواست دیگری تداخل دارد یا نتیجه پردازش درخواست باعث ایجاد Conflict میشود.
410 Gone : صفحه درخواست شده وجود ندارد و به صورت دستی حذف شده است.
28 نوع مختلف از خطاهای HTTP 4xx وجود دارند، اما کدها فوق مواردی هستند که اغلب با آن ها روبرو می شوید.
کدهای وضعیت HTTP
صدها کد وضعیت HTTP وجود دارد که تقریباً همه خطاهای احتمالی را پوشش می دهند. به آنها اعداد اختصاص داده می شود تا به شما در شناسایی هر چه سریعتر مشکلی که با آن روبرو هستید، کمک کنند. این کدها به پنج خانواده مجزا تقسیم می شوند.
HTTP 1xx : فقط جهت اطلاع رسانی. تایید این مورد که همه مراحل طبق روال عادی پیش می رود.
HTTP 2xx : فقط جهت اطلاع رسانی. تاییدیه دریافت و پذیرش درخواست HTTP.
HTTP 3xx : کدهای ریدایرکت. مرورگر برای تکمیل درخواست، باید اقدامات اضافی مانند ریدایرکت به URL دیگری را انجام دهد.
HTTP 4xx : کدهای خطای سمت کاربر. مشکلی در درخواست مرورگر که به وب سرور ارسال شده، وجود دارد.
HTTP 5xx : کدهای خطای سرور یا شبکه. سرور با مشکل یا خطایی که مانع از انجام درخواست می شود، مواجه شده است.
در ادامه توضیحات کامل تری درباره کدهای وضعیت HTTP و معنای همه آنها ارائه می شود:
چه چیزی باعث خطاهای 400 Http Bad Request می شود
در بالا به رایج ترین دلایل خطای HTTP 400 اشاره شد که عمدتا یک خطای سمت کاربر است، یعنی مرورگر یا دستگاه کاربر با مشکلی روبرو می باشد.
مواردی وجود دارد که ممکن است شبکه یا وب سرور، پیام را قبل از رسیدن آن به مقصد خراب (corrup) کنند اما غالبا مشکلات سمت کاربر، دلیل ایجاد خطای HTTP 400 هستند.
خطای HTTP 400 می تواند ناشی از موارد زیر باشد:
- استفاده از URL های نادرست
- خراب شدن پیام در حین انتقال
- عدم تطابق داده ها بین کش مرورگر یا کوکی ها
- افزونه های مرورگر که در تضاد با درخواست های HTTP هستند
- آپلود یک فایل در وب سایت با حجم بالا
آخرین مورد نادر است اما اغلب کاربران آن را هنگام آپلود فایل ها در وردپرس تجربه کرده اند.
رفع خطاهای HTTP 400 Bad Request
رفع خطای Bad Request 400 معمولاً با عیب یابی مرورگر یا دستگاه کاربر انجام می شود. از آنجایی که این پیغام خطا بسیار مبهم می باشد، عیب یابی آن معمولا با آزمون و خطا انجام می شود. در ادامه اقداماتی که عمدتا برای رسیدگی به این خطا صورت می گیرد، آمده است.
قبل از اینکه به سراغ کارهای زمانبر بروید، با سریع ترین و آسان ترین روش شروع کنید.
صفحه را با خالی کردن کش (Force Refresh) مجدد بارگذاری کنید
بهروزرسانی صفحه وب معمولاً اولین کاری است که کاربران در زمان مواجهه با این خطا انجام می دهند. Force Refresh به مرورگر میگوید که تمامی کپی های کش شده صفحه را نادیده بگیرد و یک نسخه جدید از سرور درخواست کند.
این روش، سریعترین و ساده ترین اقدام است که اغلب می تواند بسیاری از مشکلات رایج را برطرف کند. در مرورگرهای مختلف، از کلیدهای ترکیبی زیر استفاده کنید تا صفحه را با خالی کردن کش به روز نمایید:
- مرورگر Chrome در ویندوز: Ctrl + F5
- مرورگر Chrome در Command + Shift + R :Mac
- مرورگر Firefox در ویندوز: Ctrl + F5
- مرورگر Firefox در Command + Shift + R :Mac
- مرورگر Command + Option + R :Safari
- مرورگر Ctrl + F5 :Microsoft Edge
بررسی آدرس درخواستی
اگر همچنان خطای 400 را مشاهده می کنید، URL مورد استفاده خود را دوباره بررسی نمایید. اشتباه تایپی در URL یکی دیگر از دلایل رایج این خطا می باشد. با توجه به تعداد URL هایی که در روز استفاده می شود، انجام این اشتباه بسیار محتمل است. اگر URL را تایپ کردید، به خوبی آن را بررسی کنید تا مطمئن شوید آدرس را اشتباه وارد نکرده باشید. اگر از یک آدرس در لیست علاقه مندی های (favorite) مرورگرتان استفاده کرده اید نیز از صحت آن اطمینان حاصل کنید.
وب سایت های دیگر را تست کنید
مواردی وجود دارد که HTTP 400 به معنای مشکلی در دستگاه یا مرورگر شما نیست، در این شرایط میتوانید با بازدید از وبسایت دیگری، به سرعت آن را بررسی کنید. یررسی یک سایت دیگر، صحت اجرای مرورگر، DNS، روتر و دستگاهی را که از آن استفاده میکنید را تأیید میکند. لذا وب سایت میهن وب هاست یا وب سایت دیگری را در مرورگرتان وارد نموده و بررسی کنید که چه اتفاقی می افتد.
اگر وب سایت به درستی بارگذاری شد، قطعاً چیزی بر آن URL خاص تأثیر می گذارد. اگر به درستی بارگذاری نمی شود، ممکن است مشکلی در مرورگر یا دستگاه شما وجود داشته باشد.
پاک کردن کوکی های مرورگر
تصویر(2)
کوکی ها فایل های کوچکی هستند که آخرین بازدید شما از یک وب سایت و اطلاعات مربوط به آن را ذخیره می کنند.
به عنوان مثال، اگر به وب سایتی مراجعه و محصولی را در سبد خرید قرار دهید، ممکن است در یک کوکی ثبت شده باشد، بنابراین هنگام بازگشت به آن وب سایت، محصول انتخابی شما در سبد خرید وجود خواهد داشت.
گاهی اوقات کوکی ها ممکن است خراب شده و تا حدی بازنویسی یا به اشتباه بارگذاری شوند که می توانند خطاهای HTTP 400 را ایجاد کنند. حذف کوکی های مرورگر بسیار آسان است، برای دسترسی به صفحه کوکی مرورگر خود از کلید های میانبر زیر استفاده کنید:
مرورگر Chrome در ویندوز: Ctrl + Shift + Delete
مرورگر Chrome در Command + Shift + Delete :Mac
مرورگر Firefox در ویندوز: Ctrl + Shift + Delete
مرورگر Firefox در Command + Shift + Delete :Mac
مرورگر Settings > Safari > Clear History and Website Data :Safari
مرورگر Command + Shift + Delete :Microsoft Edge
پس از ورود به صفحه کوکی در مرورگرتان، کوکیها و دادههای حافظه کش را حذف کنید و آدرسی که میخواهید به آن دسترسی پیدا کنید را مجدداً بررسی کنید.
اگر صفحه بارگذاری شود، مشکل کوکی بوده که خطای HTTP 400 را ایجاد کرده است. اگر صفحه بارگذاری نشد، راه حل بعدی را امتحان کنید.
یک مرورگر دیگر را امتحان کنید
تصویر(3)
URL را در مرورگر دیگری وارد کنید. نباید تفاوتی ایجاد شود مگر اینکه تغییری در مرورگر اصلی خود ایجاد کرده باشید.
همچنین مشاهده شده است که وجود مشکل در مرورگر، موجب ارسال header های HTTP نامعتبر به وبسایتها می شود و این کار یک روش سریع برای بررسی این موضوع می باشد.
اگر وب سایت در مرورگر دیگری به درستی کار می کند، به دنبال مشکل در مرورگر اصلی خود باشید. افزونههای مرورگر را غیرفعال نموده، تنظیمات انجام شده را به حالت قبل بازگردانید و به عنوان آخرین راهحل، مرورگر را دوباره نصب کنید.
اگر وب سایت هنوز بارگذاری نمی شود، به سراغ راه حل بعدی بروید.
افزونه های مرورگر را غیرفعال کنید
تصویر(4)
آیا اخیراً افزونه ای مانند VPN، ad blocker، پروکسی یا موارد مشابه این چنینی که می توانند بر تبادل داده ها تأثیر بگذارند، به مرورگر خود اضافه کرده اید؟
در حالی که اکثر افزونههای ارائه شده برای مرورگرها به خوبی کدنویسی شدهاند، اما امکان رویت مشکل در برخی از آنها نیز وجود دارد و ممکن است در نسخه های اولیه دارای باگ و خطا باشند. از آنجایی که ممکن است این افزونه ها باعث ایجاد خطاهای HTTP 400 شوند، مطابق مسیر های زیر در مرورگر، افزونه ها را غیر فعال کنید.
در کروم:
Settings > More Tools > Extensions > تمامی افزونه ها را غیرفعال کنید
در فایرفاکس:
Settings > Add-ons and Themes > تمامی افزونه ها را غیرفعال کنید
در Microsoft Edge :
Settings > Extensions > تمامی افزونه ها را غیرفعال کنید
در Safari :
Safari > Preferences > Extensions > تمامی افزونه ها را غیرفعال کنید
سایر مرورگرها احتمالاً مشابه کروم یا فایرفاکس خواهند بود و باید از روش های مشابه استفاده کنید.
کش DNS خود را پاک کنید
تصویر(5)
DNS مخفف domain name system است که URL ها را به آدرس IP سرور میزبان وب سایت، متصل می کند. اگر بین آنچه که در رایانه شما در حافظه کش DNS نگهداری می شود با وب سرور اصلی تطابق وجود نداشته باشد، می تواند باعث خطاهای HTTP 400 شود.
هر گونه خرابی در کش DNS نیز می تواند این خطاها را ایجاد کند. البته پاکسازی کش dns نیز بسیار آسان است.
برای پاکسازی کش DNS در ویندوز، دستورالعمل زیر را دنبال کنید:
- "cmd" را در کادر جستجوی ویندوز تایپ کنید
- روی Command Prompt در منو کلیک راست کرده و Run as Administrator را انتخاب کنید
- ipconfig /flushdns را تایپ کرده و Enter را بزنید
- وب سایت را مجددا بررسی کنید
برای پاکسازی کش DNS در mac:
- ترمینال را باز کنید
- dscacheutil -flushcache را تایپ کنید و Enter را بزنید
- وب سایت را مجددا بررسی کنید
اگر وب سایت به درستی بارگذاری شود، احتمالاً خرابی داده های قدیمی یا عدم تطابق داده ها در حافظه کش DNS شما، باعث ایجاد خطا شده است. اکنون باید بتوانید کاملا عادی به وب سایت دسترسی داشته باشید.
اگر مشکل رفع نشد، گزینه نهایی شما راه اندازی مجدد دستگاه است.
دستگاه را مجددا راه اندازی کنید
راه اندازی مجدد دستگاه می تواند انواع مشکلات را برطرف کند.
راه اندازی مجدد دستگاه تمام اطلاعات و داده های کش ذخیره شده در memory را پاک خواهد کرد. هنگامی که دستگاه مجددا راه اندازی می شود، تمامی فایل هایی که نیاز به ذخیره شدن دارند دوباره دانلود می شوند.
این کار می تواند برای رفع بسیاری از خطاها از جمله خطای HTTP 400 کافی باشد. بنابراین، دستگاه خود را مجددا راه اندازی کنید.
اندازه فایل نادرست
تصویر(6)
راه حل نهایی کاملا متفاوت است.
تمام راه حل هایی که تاکنون ذکر شد مربوط به عدم دسترسی شما به وب سایت است. این راه حل زمانی استفاده می شود که میخواهید فایلی را در وبسایت آپلود کنید و خطای Bad Request HTTP 400 را مشاهده می نمایید.
حجم بالای فایلی که آپلود می کنید می تواند موجب ایجاد این خطا شود. معمولاً مشکل فوق به این دلیل رخ می دهد که در وب سایت یا سرور میزبان محدودیتی در سایز فایل های آپلودی تعیین شده باشد.
اگر تصاویر، صدا یا ویدیویی را در یک وبسایت آپلود میکنید که حجم آن از حد مجاز بیشتر است، این اتفاق رخ میدهد. در نظر داشته باشید که اگر در وب سایت خودتان این خطا را مشاهده می نمایید، محدودیت در سایز فایل، می تواند توسط میزبانی وب شما تعیین شده باشد. جهت تست، سعی کنید یک فایل بسیار کوچکتر را دقیقاً به همان روش در وب سایت آپلود کنید. اگر آپلود فایل بدون مشکل انجام شد، احتمالاً محدودیت اندازه فایل موجب خطای HTTP 400 شده است.
نتیجه گیری :
خطای HTTP 400 علیرغم عدم ارائه جزئیات، خطایی نسبتاً ساده است.
HTTP 4xx معمولاً به معنای مشکل در مرورگر، موبایل یا رایانه سمت کاربر می باشد. راه حل های ارائه شده صرفاً یک آزمون و خطا است و معمولاً به کمک آنها می توانید مشکل را رفع کنید.