آموزش رفع خطای ۴۰۰ Bad Request + دلایل بروز آن

خطای 400 Bad Request چیست؟

مخاطبین عزیز الین وب در این مقاله در خصوص اینکه خطای ۴۰۰ Bad Request چیست؟ هم چنین به علل به وجود آمدن آن و آموزش رفع خطای ۴۰۰ Bad Request خواهیم پرداخت، با ما همراه باشید.

در مقاله انواع خطاهای وب سایت ، دلایل ایجاد + نحوه رفع به بررسی و معرفی خطاهای رایج پرداختیم. که یکی از آنها که شاید به دفعات زیاد با آن مواجه شده اید خطای ۴۰۰ Bad Request است.

خطای ۴۰۰ Bad Request چیست؟

خطای  400 Bad Request که با عنوان خطای ۴۰۰ یا HTTP Error 400 نیز معروف است یکی از خطاهای سمت کاربر است ( هر خطایی که با عدد ۴ شروع شود خطای سمت کاربر محسوب می شود).

علت ارور ۴۰۰ Bad Request چیست؟

این خطا زمانی رخ می دهد که سرور نمی تواند متوجه نوع درخواست شما شود و نتواند درخواست ارسالی شما را درک کند. در این صورت درخواست شما یک درخواست بد یا Bad Request محسوب می شود و سرور در پاسخ به HTTP Request شما این پاسخ را می دهد:

۴۰۰ Bad Request

سازمان IETF یا Internet Engineering Task Force خطای ۴۰۰ Bad Request را اینگونه تعریف می کند:

The 400 (Bad Request) status code indicates that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).

https://www.rfc-editor.org/rfc/rfc7231#section-6.5.1

 کد وضعیت ۴۰۰ یا Bad Request بیانگر آن است که سرور نمی تواند یا نمی خواهد درخواست را پردازش کند به این دلیل که گمان می کند خطای از سمت کاربر صورت گرفته ( برای مثال: syntax درخواست نادرست، قالب پیام نادرست و یا مسیر درخواست گمراه کننده ) در ادامه به بیان ۶ دلیل بروز خطای ۴۰۰ Bad Request و نحوه رفع هر کدام از آنها پرداخته ایم

آموزش رفع خطای ۴۰۰ Bad Request

۱- اشکال در syntax رشته های URL:

ممکن است آدرس URL به بد نوشته شده باشد یا از کارکترهای غیر مجاز استفاده شده باشد. رخ دادن خطا HTTP 400 Bad Request در زمان Encoding اشتباه URL یکی از موارد شایع است.

برای مثال کارکتر Space را در نظر بگیرد. هنگام Encode شدن به صورت %۲۰ در URL قرار می گیرد. قرار گرفتن علامت % اضافه تر قبلا از %۲۰ در آدرس URL می تواند خطای ۴۰۰ Bad Request را نمایان کند.

https://elinweb.site/%%20
اشکال در URL و بروز خطای HTTP 400 Bad Request
اشکال در URL و بروز خطای HTTP 400 Bad Request

راه حل: آدرس URL را از نظر صحیح بود بررسی کنید.

۲- کوکی ها و کش های خراب و نادرست

اگر آدرس URL بدون اشکال باشد باز هم از خطای ۴۰۰ Bad Request در امان نیستیم! چرا که کش مرورگر و کوکی های ذخیره شده در آن اگر خراب باشند می توانند باعث بروز خطای ۴۰۰ شوند.

راه حل: طبق توضیحات بالا، یکی از راه حل های رفع خطای ۴۰۰ Bad Request می تواند پاک کردن کش و کوکی های مرورگر برای وب سایت مقصد باشد.

۳- اطلاعات کش DNS قدیمی و نادرست

سرویس DNS از مهمترین سرویس ها در شبکه های کامپیوتری محسوب می شود. کار اصلی این سرویس تبدیل اسم های FQDN یا Full Qualified Domain Name یا همان اسم های سلسله مراتبی به آدرس های قابل فهم برای کامپیوتر یعنی IP است.

زمانی که آدرس یک وب سایت مثل Elinweb.site را در مرورگر وارد می کنید این اسم باید تبدیل به IP شود. بنابراین یک درخواست به DNS سرور ارسال می شود تا این کار را برایش انجام دهد.

 پس از این که DNS، آدرس IP را به کامپیوتر شما فرستاد، کامپیوتر شما آن را در DNS Cache خود نگهداری می کند تا در زمان صرفه جویی کند و دوباره از سرور DNS سوال نپرسد.

مشکل زمانی رخ می دهد که ممکن است آدرس اصلی سرور Elinweb.site تغییر کند. کامپیوتر شما اطلاعات را به آدرس قدیمی سایت Elinweb.site ارسال می کند. آدرسی که الان متعلق به سرور دیگر و سایت دیگری است.

راه حل: یکی از راه های رفع خطای ۴۰۰ Bad Request این است که کش DNS سیستم عامل خود را پاک کنید. در سیستم عامل ویندوز با دستور زیر انجام می شود:

ipconfig /flushdns

۴- فیلترینگ و سرویس های پروکسی

یکی از روش های فیلترینگ استفاده از روش DNS است که در بالاتر توضیح دادیم. DNS برای وب سایت هایی که در بلک لیست قرار می گیرند به یک آدرس بی ربط ( مثل پیوند ها ) ریدایرکت می شوند.

برخی برای رهایی از این مثاله از پروکسی استفاده می کنند. پس تا هنگامی که پروکسی کار می کند همه چیز درست است ولی زمانی که پروکسی قطع می شود درخواست ها به سرور بی ربطی ارسال می شود که درکی از درخواست شما ندارد. بنابراین خطای ۴۰۰ Bad Request دور از انتظار نخواهد بود.

راه حل: بررسی عملکرد سرویس پروکسی

۵- اندازه فایل بیش از حد بزرگ است!

زمانی که می خواهید فایلی بزرگتر از میزان مجاز سرور آپلود کنید سرور خطای ۴۰۰ Bad Request را به شما برمی گرداند.

راه حل: سایز فایل آپلودی را کاهش دهید یا ظرفیت آپلود مجاز سرور را افزایش دهید.

۶- مشکل از سرور است!

اگر همه راه حل های بالا رعایت شده اند و مشکل مربوط به آن ها نیست پس خطای ۴۰۰ Bad Request به سرور مربوط می شود. آپدیت نادرست یا وجود باگ در وب سرور می تواند از این دلایل باشد.

خطای ۴۰۰ Bad Request چه شکلی است؟

این خطا می تواند بسته به مرورگر، وب سرور و وب سایت ها مختلف شکل های گوناگونی داشته باشد. یک نمونه خطای ۴۰۰ تولید شده توسط وب سرور nginx را بالاتر دیدید.

شکل خطای ۴۰۰ Bad Request از وب سایت Google.com

Google 400 Bad Request

جمع بندی

امیدواریم راه حل های ذکر شده برای برطرف کردن و رفع خطای ۴۰۰ Bad Request به شما کمک کند. در صورتی که همچنان با این خطا روبرو هستید، سعی کنید از دستگاه دیگری تست را انجام دهید.اگر ارور همچنان ادامه داشت آن را با مدیران سایت درمیان بگذارید.

به این مطلب چه امتیازی می دهید؟
ایمان شادمهری
ایمان شادمهری
هر روز آموزش ببین و روزی یک ساعت چیز یاد بگیر. در پایان سال 365 ساعت آموزش دیدی!