چه شما یک وبمستر حرفه ای باشید و چه یک کاربر ساده، احتمالا در زمان استفاده از اینترنت به مواردی مانند ارورهای HTTP یا به صورت عامیانه ارور سایت و یا ارور اینترنتی برخورد خواهید کرد. این ارورها بنا به دلایل مختلفی اتفاق افتاده و به شما نمایش داده خواهد شد که میتوانند از خرابی سرور تا بد لود شدن و پایین بودن سرعت اینترنت شما، ادامه داشته باشند. در این مقاله قصد داریم تا به یکی از معروفترین این خطاها یعنی ارور Bad Request 400 بپردازیم و بهصورت کامل این ارور را تشریح کرده و ببینیم که برای رفع آن و مشاهده سایت چه اقداماتی را باید انجام دهیم.
در ابتدا اجازه دهید در مورد این موضوع که این ارور مربوط به کدام دسته از ارورهای اینترنتی میشود، صحبت کنیم.
ارورهای سری ۴۰۰
یکی از مواردی که احتمالا زیاد با آن برخورد کردهاید ارورهای خانواده 400 هستند که ارور Bad Request 400 نیز یکی از همین موارد میباشد. خیلی از این ارورها با کدهای دیگری مانند ارورهای 403 و یا 404 نشان داده میشوند و نباید آنها را با ارور Bad Request 400 که موضوع اصلی ماست اشتباه بگیریم. بهطورکلی ارورهای خانواده 400 همگی مربوط به ارورهای سمت کلاینت میشوند و در مواقعی ظاهر میشوند که مشکلی در کلاینت وجود داشته باشد.
حوزه کلاینت در مورد این نوع ارورها کمی متفاوت با آن چیزی است که شما به عنوان کلاینت میشناسید. وقتی گفته میشود که ارور مربوط به سمت کلاینت است در واقع باید دانست که ارور صرفا مربوط به سرور نیست. سمت کلاینت این ارورها را میتوان از جایی که داده از سرور سایت خارج میشود تا مرورگر شما که دادهها و محتوای صفحه وب موردنظر را برای شما به نمایش در میآورد گسترده دانست.
پس بهطورکلی میتوانیم بگوییم هرگاه در دسترسی به وبسایتی با ارور Bad Request 400 و یا یکی از ارورهای سری 400 مواجه شدید، باید به این موضوع واقف باشید که مشکل از سایت و سرور آن نبوده و جایی در این میان خطایی رخ داده است. اما اینکه دلیل خطا چه بوده است توسط کد خطای دریافتی مشخص میشود. دلایل این خطاها میتواند از طرف خود شما باشد و یا ارتباطات اینترنتی باعث آنها شود. هر یک از این ارورها که تعداد آنها چهار عدد میباشد و بهصورت ارورهای 400، 401، 403 و 404 معرفی میشوند، به شما اعلام میکنند که دقیقا مشکل از کجاست. پیشتر در مقاله خطای ۴۰۴ چیست در مورد یکی از این ارورها بهطور مفصل صحبت کرده بودیم. اکنون نوبت به یکی دیگر از ارورهای این سری یعنی ارور Bad Request 400 رسیده است که در ادامه به معرفی اینکه این ارور چیست و از کجا میآید میپردازیم.
ارور Bad Request 400 چیست و چرا آن را می بینیم؟
ارور Bad Request 400 همانگونه که از اسم آن نیز مشخص است، زمانی اتفاق میافتد که به هر دلیلی کلاینت که در اینجا فرض میکنیم سیستم شما است، اطلاعات و درخواست نادرستی را برای سرور سایت موردنظر ارسال کند. این درخواست نادرست میتواند یک آدرس ساده سایت باشد و یا اطلاعات رمزنگاری شده. در هر صورت ارور Bad Request 400 نتیجهای است که شما از یک درخواست ناصحیح به دست آوردهاید. البته ممکن است دلایل دیگری نیز وجود داشته باشد که به شدت نادر بوده و در قسمتهای بعدی در مورد آنها صحبت خواهیم کرد.
یک درخواست نادرست میتواند به هر دلیلی ایجاد شود. خیلی از مواقع درخواست ارسالی از طرف شما صحیح بوده و به خاطر مشکلات اینترنتی بخشی از درخواست و بستههای ارسالی شما به وبسرور موردنظر شما نمیرسد. یکی از دلایلی که میتوان آن را یک مورد شایع در مشاهده ارور Bad Request 400 معرفی کرد همین موضوع است. برای برطرف کردن این مورد ممکن است نیاز باشد یک بار اینترنت خود را غیرفعال کرده و مجدد آن را فعال کنید و یا حتی مرورگر خود را باز و بسته کنید.
توجه داشته باشید که ارور Bad Request 400 فقط در زمانی به شما نمایش داده خواهد شد که درخواست شما بهصورت ناقص و ناصحیح به سرور برسد. در صورتی که شما یک آدرس را اشتباه به سرور اعلام کرده باشید و درخواست دسترسی به صفحهای که وجود ندارد را داشته باشید خطای 404 را دریافت خواهید کرد. هرچند ارور Bad Request 400 بر اثر خطاهای رخ داده در سمت کلاینت اتفاق میافتد، اما میتوانید از این موضوع اطمینان داشته باشید که این خطا به کاربر ربطی ندارد و در صورتی به شما نمایش داده خواهد شد که درخواست ارسالی با مشکلاتی در ارسال همراه بوده باشد و در بین راه اتفاقی برای آن افتاده باشد.
در صورتی که در مورد ارور Bad Request 400 اطلاع داشته باشد و با آن مواجه باشید از این موضوع اطلاع دارید که تغییرات کوچک در شرایطی که درخواست خود را ارسال کردهای و یا در واقع روشی که میخواهید به سایت دسترسی پیدا کنید، مانند تعویض مرورگر و یا پاک کردن کوکیها باعث درست شدن این خطا می گردد و در بخشهای آتی به معرفی این روشها میپردازیم. اما قبل از این مورد لازم است که انواع مختلف ارور Bad Request 400 را بررسی کنیم و ببینیم که چند نوع خطای Bad Request 400 ممکن است به ما نمایش داده شود.
انواع مختلف ارور ۴۰۰
ارور Bad Request 400 یکی از ارورهایی است که عموما زیاد به شما نمایش داده خواهد شد و با وجود مشکلات و اختلالات اینترنتی امکان بد رسیدن درخواستها یا ریکوئستهای شما به سرور بسیار زیاد است. ارور Bad Request 400 یکی از ارورهایی است که بهصورتهای مختلفی نمایش داده میشود و معمولا شما در کنار این ارور، نوشتههای مختلفی را هم خواهید دید. این متنها بر اساس وبسرور استفاده شده در سایت و تنظیماتی که از طرف سایت اعمال شده است میتوانند مختلف باشند و بحثی در آن نیست. بحث تنوع ارورهای 400 جایی آغاز میشود که ورژنهای مختلفی از این ارور به شما نمایش داده میشوند.
در واقع ۹ نوع مختلف از زیرشاخههای ارور Bad Request 400 وجود دارد اما قبل از اینکه به بررسی این ارورها بپردازیم لازم است تا کمی در مورد ساختار درخواستها و مشکلاتی که میتواند برای آنها پیش بیاید صحبت کنیم. وقتی شما درخواستی را به سایتی میفرستید و یا کلا از شبکه اینترنت برای جابجایی ترافیک به هر دلیلی استفاده میکنید. تمامی اطلاعات مورد انتقال شما ابتدا رمزنگاری شده و بعد بهصورت بستههای کوچکی که اصطلاحا به آنها پکت گفته میشود تبدیل میشود.
این پکتها به ترتیب شمارهگذاری شده و یک درخواست به نسبت اندازهای که دارد به تعدادی پکت کوچک تبدیل شده و در بستر اینترنت رها میشود تا به آدرس موردنظر خود برود. هر بسته از دو بخش هدر یا سربرگ و بادی یا بدنه تشکیل شده است. اطلاعات مربوط به اینکه بسته از کجا میآید، ارسالکننده یا صاحب آن کیست، به کجا میرود و بسته چندم از یک پیام است در هدر ذخیره شده است. خود درخواست نیز از طریق بادی منتقل میشود. وقتی این بستهها در مقصد جمعآوری شود، پیام از حالت رمزگذاری شده خارج شده و درخواست مشخص میشود.
حالا در صورتی که به هر دلیلی برای یک و یا تعدادی از بستههای شما مشکلاتی به وجود بیاید شما با یک ارور Bad Request 400 مواجه خواهید شد.
البته مکانیزمهایی وجود دارند که جامعیت پیام را از طریق بستههای پشتیبان حفظ کنند و معمولا با تخریب یک یا دو بسته کل پیام بیاهمیت نخواهد شد. اما ممکن است به هر حال در شرایطی خاص پیام شما دچار اختلال شود و ارور Bad Request 400 را دریافت کنید. در وضعیتهای مختلف روی ارور Bad Request 400 حالات مختلف تخریب بستههایی که از بستر اینترنت عبور کرده و به سرور رسیدهاند وجود دارد که در ادامه به آنها خواهیم پرداخت. این ورژنهای مختلف به این صورت خواهند بود:
ارور (۴۰۰.۱) : زمانی که مقصد در هدر بستههای شما به اشتباه ذکر شده باشد.
ارور (۴۰۰.۲) : زمانی که عمق هدر تعیینشده از طرف شما مشخص نباشد و قابل بررسی نباشد.
ارور (۴۰۰.۳) : در صورت نامعتبر بودن هدر پکتهای ارسالی.
ارور (۴۰۰.۴) : هدر پکتهای شما بهصورت Overwrite شده و دستکاری شده به نظر برسد.(این امکان در مسیر وجود خواهد داشت که بعضی از سوئیچها آن را تغییر دهند)
ارور (۴۰۰.۵) : هدر بسته شما پس از ترجمه توسط سرور قابل شناسایی نباشد و بهصورت تخریب شده وارد سرور شود.
ارور (۴۰۰.۶) : بدنه پیام درخواست شما آسیب دیده باشد.
ارور (۴۰۰.۷) : طول محتوای درخواستی ناصحیح و نامعتبر باشد.
ارور (۴۰۰.۸) : مدت زمان اعلام شده برای Timeout و قطع ارتباط در صورت طولانی شدن انتظار برای ارسال طولانی و نامعتبر باشد. (حملات DDOS زیادی با این روش ترتیب داده میشود. برای اطلاعات بیشتر میتوانید به مقاله دیداس چیست مراجعه کنید.)
ارور (۴۰۰.۹) : مکانیزمهایی که برای قفلهای امنیتی و Token قفل بستههای استفاده شده است دستکاری شده به نظر برسد.
حالا که دیدیم چه ارورهایی وجود دارند و به چه روشهایی ممکن است مانع راه ما شوند، بهتر است به این موضوع بپردازم که چگونه میتوانیم از شر ارور Bad Request 400 خلاص شویم.
رفع ارور Bad Request 400
برای رفع ارور Bad Request 400 روشهای مختلف و متعددی وجود دارد که بیشتر آنها مبتنی بر ارائه درخواستهای مجدد از طریق روشهای جدید که با روش قبلی که ارور را دریافت کردهاید متفاوت باشد طراحی شده اند. این موارد شاید در ظاهر کارهایی ساده به نظر برسند، اما ارور Bad Request 400 معمولا با همین روشها بهصورت کامل برطرف خواهند شد.
چک کردن URL
یکی از مهمترین کارهایی که باید در هنگام دریافت این ارور انجام دهید چک کردن URL برای ورود اطلاعات صحیح است. خیلی از علائم نگارشی ممکن است در مرورگرهای مختلف تغییراتی را ایجاد کنند که ارسال این تغییرات به سرور میتواند منجر به دریافت ارور Bad Request 400 شود. این مورد در URLهای نوشته شده به زبان فارسی خیلی مشهودتر خواهد بود.
پاک کردن کش مرورگر
این اقدام ساده میتواند یک گزینه خوب برای از بین بردن ارور Bad Request 400 باشد. شما بهراحتی میتوانید کش مرورگر خود را پاک کرده و اطلاعات قبلی را که احتمالا حاوی المانهای نادرست در درخواست ارسالی شما است را بهطور کامل حذف کنید.
برای پاک کردن کش مرورگر خود میتوانید از طریق تنظیمات مرورگر خود این کار را انجام دهید و یا از افزونههایی که این کار را برای شما انجام میدهند استفاده کنید. با یک جستوجوی ساده به تعداد زیادی از این افزونهها روی مرورگرهایی مانند گوگل کروم و موزیلا فایرفاکس دسترسی پیدا خواهید کرد. همچنین شما میتوانید سایت را بهصورت بدون کش Reload کنید برای این کار این امکان را دارید که از کلیدهای ترکیبی Alt+F5 استفاده کنید.
پاک کردن کوکیها
پاک کردن کوکیها و به نوعی ریست کردن سابقه مروری که دارید و اطلاعاتی که همراه با ریکوئست خود به سایت مبدا ارسال میکنید، میتواند در سبکتر شدن درخواست شما تاثیر زیادی داشته باشد و ارور Bad Request 400 بهصورت کامل رفع شود. پس در نظر داشته باشید یکی از اصلیترین اقدامات برای رفع این ارور، پاک کردن کوکیها خواهد بود.
پاک کردن رکورد DNS
DNSها اطلاعات مربوط به IPهایی که شما برای دسترسی به سایت از آنها استفاده میکنید را در خود نگهداری میکنند. DNSهای سایت بهصورت مرحلهبهمرحله در سرورهای DNS، سرورهای بینالمللی اینترنتی، سرورهای ISP و در نهایت در کامپیوتر شما کش شده و ذخیره میشوند. این کش شدنهای سلسلهمراتبی در جایی باعث میشود تا شما با ارور Bad Request 400 مواجه شوید.
در بیشتر موارد اطلاعاتی که در DNSهای شما کش شده است آدرسها را به نحوی تغییر داده است که ریکوئستهای صحیح شما مورد پذیرش قرار نمیگیرد. در مواقعی که ارور Bad Request 400 به این صورت ظاهر شود پاک کردن رکورد DNS و استفاده از اطلاعات سرور اصلی میتواند کار شما را انجام دهد. برای این منظور میتوانید CMD را باز کرده و دستور ipconfig/flushdns را اجرا کنید. در این صورت شما تمامی اطلاعات مربوط به CDNها را دور زده و به یک ورژن سلامت از سایت دسترسی خواهید داشت.
معمولا وقتی این اقدامات گفته شده را انجام دهید ارور شما به طور کامل برطرف میشود. در غیر این صورت میتوانید از روشهای دیگری مانند تغییر اپراتور و یا استفاده از یک مرورگر دیگر برای دسترسی به سایت موردنظر استفاده کنید. در ادامه به ارائه نکاتی در مورد ارور Bad Request 400 که میتواند باعث ایجاد شرایطی خاص روی سایت شود خواهیم پرداخت.
نکات ارور Bad Request 400
ارور Bad Request 400 میتواند در بعضی از موارد به جای ارور 504 ظاهر شود. در اینجا وقتی پاسخ درخواست شما تایماوت شود و پاسخ مناسبی دریافت نشود به جای نمایش ارور 504، به شما ارور Bad Request 400 نمایش داده خواهد شد. البته برای رفع این ارور کار خاصی از سمت کلاینت ساخته نیست و در صورتی که سایت زیر بار کاری سنگینی نباشد با رفرش کردن صفحه مشکل حل خواهد شد.
مورد بعدی که ارور Bad Request 400 باز میگرداند در حالی که درخواست شما صحیح است، عدم توجه به محدودیت آپلود فایل سنگین از طرف شما و یا کاربرانتان است. در بعضی موارد سایتها ممکن است از کاربران فایل به عنوان ورودی دریافت کنند. در صورتی که مانعی برای محدود کردن حجم فایل وجود نداشته باشد و در تنظیمات اصلی سایت اندازه فایل آپلودی توسط کاربر محدود باشد، وقتی کاربری اقدام به آپلود کردن فایلی بزرگ کند، پکیجهای درخواستی مردود تشخیص داده شده و ارور Bad Request 400 به کاربر نشان داده میشود.
در این وضعیت تنها از طریق اعمال محدودیت روی صفحه آپلود فایل و یا برداشتن محدودیت توسط مدیر سایت از طریق دستکاری تنظیمات اصلی سایت میتوان این ارور را برطرف نمود.
در مواقعی هم ارور Bad Request 400 مربوط به این میشود که ارتباط بین سرورها به طول میانجامد و تاریخ اعتبار بستههای شما که در حال گذر از این بستر هستند تمام میشود. در این صورت پیام شما ناقص به سایت رسیده و ارور Bad Request 400 را دریافت میکنید. این کار با رفرش کردن اصلاح خواهد شد. اما اگر مشکل از طرف ISP و یا اینترانتی که در آن قرار گرفتهاید باشد شما همچنان این ارور را دریافت خواهید کرد. بهترین روش برای رفع ارور Bad Request 400 ایجاد شده به علت تغییر اپراتور ارائهدهنده اینترنت است.
در بعضی موارد نیز ممکن است ارور Bad Request 400 از طریق خود سایت و به دلیل مشکلات کدنویسی ایجاد شود که در این صورت عمومی خود سایتها اعلام خواهند کرد که مشکل چیست و چه زمانی برطرف خواهد شد. برای اینکه بدانید از این موارد مطلع شوید بهترین راه دنبال کردن ترندهای شبکههای اجتماعی رسمی مانند توییتر و فیسبوک و حتی بررسی پیج این سایتها در این موارد میباشد.
نتیجهگیری
ارور Bad Request 400 یکی از ارورهای نسبتا کمدردسر و ساده در رفع تلقی میگردد. البته با توجه به اینکه یک ارور سمت کلاینت تلقی میشود ممکن است در بعضی مواقع کار کاربران را به دردسر بیندازد ولی میتوان بهطورکلی گفت که یک وبمستر و مدیر سایت به جز مواردی محدود نمیتواند برای رفع این ارور کاری انجام دهد. در صورتی هم که سختگیریها در مورد درخواستهای وارده کم شود، امنیت سایت به خطر میافتد و به هیچ عنوان قابل قبول نیست. برای رفع ارور Bad Request 400 بهترین روشها این است که با کش و کوکیهای مرورگر خود کمی سروکله بزنید و یا مرورگر و ارائهدهنده اینترنت خود را بهصورت موقت تعویض کنید. در صورتی که باز هم جواب نگرفتید چند دقیقه صبر کردن میتواند روش مفیدی برای رفع این ارور باشد.