• Peykanielaheh@gmail.com
  • ۰
    سبد خرید
      هیچ محصولی در سبد خرید وجود ندارد.
    ۰
    سبد خرید
      هیچ محصولی در سبد خرید وجود ندارد.

    حل مشکل HTTP 400 : درخواست بد توضیح داده شده است

    حل مشکل HTTP 400

    اگر هر روز در اینترنت گشت و گذار می کنید، احتمالاً زمان هایی وجود داشته است که همه چیز دقیقاً مطابق برنامه پیش نرفته است. گاهی اوقات مرورگر شما به جای محتوای وب سایت مورد نظر، یک کد وضعیت نمایش می دهد. هنگامی که وب سرور و مشتری (به عنوان مثال مرورگر) با یکدیگر در ارتباط هستند، پیام های وضعیت را منتقل می کنند. تنها زمانی که خطایی رخ می دهد، یک پیام خطای مرموز را مشاهده می کنید که توسط مرورگر وب خود نمایش داده می شود. کد HTTP 400 نشان می دهد که مشکلی در درخواست مشتری رخ داده است. ما دقیقاً معنی پیام خطا را توضیح می دهیم و نکاتی در مورد نحوه حل مشکل ارائه می دهیم.

    خطای 400 Bad Request به چه معناست؟

    با کدهای وضعیت، وب سرور وضعیت درخواست ها را به مشتری نشان می دهد. اگر سرور پیام 200 را برگرداند (که معمولاً هنگام گشت و گذار نمی بینید)، به این معنی است که همه چیز خوب است. درخواست با موفقیت انجام شد و محتوای مورد نظر منتقل شد. وقتی کدهای 400 و 500 نشان داده می شوند، وضعیت متفاوتی است، زیرا این نشان دهنده انواع مختلفی از خطاها است.

    همه کدهای 1xx اطلاعاتی هستند و همه کدهای 2xx موفق هستند. کاربران اینترنت به طور کلی کدهایی را از 3xx و به بعد می بینند: این به این معنی است که ارتباط موفقیت آمیز بوده است، اما مشتری باید یک مرحله اضافی را انجام دهد. بیشتر این مراحل اضافی مربوط به فوروارد است که مرورگر به صورت خودکار انجام می دهد و فقط در موارد معدودی متوجه آن می شوید.

    در مورد پیام های خطا، این کاملاً متفاوت است:

    در حالی که خطاهای 5xx مربوط به سرور است، همه کدهای 4xx مربوط به درخواست های معیوب از مشتری هستند. شناخته شده ترین پیام خطای 404 Not Found است. علت پیام معمولاً یا یک URL اشتباه نوشته شده یا محتوای حذف شده است.

    پاسخ دادن به این سؤال که “اینجا چه اشتباهی رخ داده است” چندان آسان نیست؟ وقتی با خطای 400 مواجه می شوید. یعنی خود درخواست به نوعی معیوب شده است. پروتکل اینترنت HTTP به درستی رعایت نشده است (حداقل طبق وب سرور)، به همین دلیل است که درخواست قابل پردازش نیست. سرور درخواست را معیوب یا حتی مضر تفسیر کرده است. بنابراین از نمایش صحیح وب سایت جلوگیری می کند.

    دلایل گزارش خطا معمولاً مربوط به مرورگر مورد استفاده یا خطای کاربر است.

    • URL نادرست: درست مانند خطای 404، اگر کاربران آدرس اینترنتی را اشتباه وارد کنند یا مثلاً کاراکترهای خاصی را وارد کنند که مجاز نیستند، یک درخواست بد ایجاد می شود.
    • کوکی‌های نادرست: اگر کوکی‌های مرورگر شما قدیمی یا نادرست هستند، این دلیل دیگری برای بروز خطای 400 است.
    • سوابق DNS منسوخ شده: حافظه پنهان DNS شما ممکن است حاوی داده هایی باشد که به آدرس های IP نادرست پیوند می دهند.
    • فایل‌های خیلی بزرگ: اگر بخواهید فایل‌های بزرگی را آپلود کنید، سرور می‌تواند آنها را نپذیرد. سرور این را به عنوان یک “درخواست بد” طبقه بندی می کند.
    • هدر خیلی طولانی است: هنگام برقراری ارتباط، مشتری و سرور از هدر برای تعریف درخواست استفاده می کنند. برخی از وب سرورها حد بالایی برای طول هدرها تعیین می کنند.

    هنگامی که با پیام خطای “HTTP 400 Bad Request” مواجه می شوید، بلافاصله مشخص نیست که مشکل ارتباط چیست. با این حال، اگر وب سرور مورد نظر از IIS 7.0، IIS 7.5 یا IIS 8.0 استفاده می کند، اطلاعات دقیق تری را می توان از کد وضعیت به دست آورد:

    • 400.1: عنوان مقصد نامعتبر است
    • 400.2: عنوان عمق نامعتبر
    • 400.3: اگر سرصفحه نامعتبر است
    • 400.4: سرصفحه بازنویسی نامعتبر
    • 400.5: عنوان ترجمه نامعتبر
    • 400.6: متن درخواست نامعتبر
    • 400.7: طول محتوای نامعتبر
    • 400.8: مهلت زمانی نامعتبر است
    • 400.9: رمز قفل نامعتبر

    خطای 400 فقط هنگام گشت و گذار در اینترنت وارد عمل نمی شود. برنامه های دیگر، مانند کلاینت های ایمیل نیز می توانند این کد وضعیت را هنگام برقراری ارتباط با سرور دریافت کنند.

    حل مشکل HTTP 400 در خواست بد

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

    URL نادرست است

    مرحله بعدی برای تجزیه و تحلیل مشکل باید بررسی URL باشد: اگر آدرس را به صورت دستی در مرورگر وارد کرده اید، بررسی کنید تا مطمئن شوید که اشتباه تایپی نداشته اید. اگر روی پیوندی کلیک کردید، املای آن را بررسی کنید یا مستقیماً به صفحه اصلی بروید و صفحه مناسب را از آنجا پیدا کنید.

    حل مشکل HTTP 400 : کوکی های نادرست

    این مشکل همچنین ممکن است به دلیل کوکی های قدیمی یا نادرست باشد. برای رفع این مشکل، به سادگی رکورد مربوطه را در مرورگر خود حذف کنید. هنگامی که دوباره از وب سایت بازدید می کنید، نرم افزار یک کوکی جدید ایجاد می کند.

    حل مشکل HTTP 400 : ورودی DNS نادرست

    راه حل دیگری که می توانید امتحان کنید حذف کش DNS است. وقتی اینترنت را مرور می‌کنید، نام دامنه‌هایی که وارد می‌کنید به آدرس‌های IP ترجمه می‌شوند، به این ترتیب آنها به شبکه جهانی وب متصل می‌شوند. برای انجام این کار، ابتدا باید یک تفکیک نام با یک سرور نام انجام شود. به منظور کوتاه کردن این فرآیند، رایانه شخصی شما به طور موقت داده های جمع آوری شده را در حافظه پنهان DNS ذخیره می کند. با این حال، دفعه بعد که دامنه به مرورگر وارد می شود و هنوز ورودی به طور خودکار از کش حذف نشده است، وضوح نام مستقیماً از حافظه پنهان انجام می شود. اگر این ورودی خراب باشد یا دیگر به‌روز نباشد، پیام «درخواست بد HTTP» ظاهر می‌شود.

    برای حذف ورودی نادرست، باید کش DNS کامل را حذف کنید. این کار را می توان با اجرای خط فرمان در ویندوز و وارد کردن این دستور برای خالی کردن کش انجام داد:

    ipconfig /flushdns

    برای سیستم‌های مک، این فرمان به این بستگی دارد که کدام نسخه از سیستم عامل مورد استفاده قرار می‌گیرد. تمام دستورات از طریق ترمینال وارد می شوند:

    • OS X 10.4 (Tiger): lookupd -flushcache
    • OS X 10.5 (Leopard): dscacheutil -flushcache
    • OS X 10.6 (Snow Leopard): dscacheutil – flushcache
    • OS X 10.7 (Lion): sudo killall -HUP mDNSResponder
    • OS X 10.8 (Mountain Lion): sudo killall -HUP mDNSResponder
    • OS X 10.9 (Mavericks): dscacheutil -flushcashe; sudo killall -HUP mDNSResponder
    • OS X 10.10 (Yosemite) (10.10.1 – 10.10.3): sudo discoverutil udnsflashcaches
    • OS X 10.10 (Yosemite) (10.10.4+): sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
    • OS X 10.11 (El Capitan): sudo killall -HUP mDNSResponder
    • macOS 10.12 (Sierra): sudo killall -HUP mDNSResponder

    مشکلات مربوط به فیلدهای هدر HTTP

    به عنوان یک کاربر اینترنت: کوکی ها را حذف کنید و مرورگر را بازنشانی کنید

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

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

    اگر این راه حل جواب نداد، می توانید مرورگر را مجدداً نصب کنید یا آن را به تنظیمات پیش فرض خود بازگردانید.

    بسته به اینکه از چه مرورگری استفاده می کنید، راه های مختلفی برای بازنشانی آن وجود دارد. برای فایرفاکس، عبارت about:support for troubleshooting را تایپ کنید. در اینجا اطلاعات زیادی خواهید یافت که به شما در تشخیص خطاهای نرم افزار کمک می کند. حتی اگر با یک تیم پشتیبانی تماس بگیرید، همچنان داشتن این داده ها مهم است. در این صفحه، دکمه ای را می بینید که به شما امکان می دهد فایرفاکس را پاک کنید. وقتی روی آن کلیک می کنید، افزونه ها و برخی تنظیمات را حذف می کند، اما تنظیمات فعلی شما را حفظ می کند.

    در اینترنت اکسپلورر، می‌توانید دکمه «تنظیم مجدد» را در گزینه‌های اینترنتی زیر تب «پیشرفته» یا «بازیابی پیش‌فرض‌ها» (در IE 6) پیدا کنید. مرورگر مایکروسافت به شما امکان می دهد انتخاب کنید که آیا می خواهید تنظیمات شخصی خود را هنگام بازنشانی حذف کنید یا خیر. از آنجایی که اینترنت اکسپلورر کش و کوکی ها را نیز به عنوان این نوع تنظیمات در نظر می گیرد، توصیه می شود این تنظیمات را نیز حذف کنید.

    با کروم، عملکردهای بازنشانی را در تنظیمات سیستم پیدا خواهید کرد. مرورگر داده‌های شخصی شما، مانند گذرواژه‌های ذخیره شده و سابقه را نگه می‌دارد، اما هر چیز دیگری را به حالت اولیه باز می‌گرداند. مرورگر را ببندید و دوباره راه اندازی کنید تا تغییرات اعمال شوند.
    پنجره بازنشانی مرورگر کروم

    حل مشکل HTTP 400

    به عنوان یک استاد وب: محدودیت هایی را تعیین کنید

    اگر یک استاد وب هستید و بازدیدکنندگان از کد خطای 400 شکایت دارند، تغییر تنظیمات سرویس ممکن است کمک کننده باشد. به منظور جلوگیری از دریافت پیام خطا توسط کاربران اینترنتی به دلیل وجود هدر بزرگ HTTP، می توانید محدودیت را تعیین کنید. با این حال، باید توجه داشته باشید که با محدودیت های بالاتر، خطر درخواست های معیوب را افزایش می دهید. کارگروه مهندسی اینترنت (IETF) همچنین در مستندات خود در مورد HTTP 1.1 به 400 Bad Request به عنوان موضوع پرداخته است و به خطر محدودیت های بالا (حملات قاچاق) اشاره کرده است.

    آیا به هر حال می خواهید محدودیت را افزایش دهید؟ هر وب سرور روش خاص خود را دارد. برای مثال، با IIS (ASP.NET)، می‌توانید «maxRequestLength» و «maxAllowedContentLength» را تغییر دهید. از سوی دیگر، برای آپاچی، می‌توانید با استفاده از «LimitRequestFieldSize» محدودیت را تعیین کنید.

    تماس بگیرید

    متأسفانه، ممکن است راه حل های ذکر شده در بالا مشکل را حل نکند. در این صورت باید از جای دیگری کمک بگیرید. در اصل، بسته به اینکه خطای HTTP 400 فقط در یک سایت خاص یا در بسیاری از سایت ها نمایش داده می شود، دو مخاطب دارید. اگر خطا فقط در یک سایت خاص رخ می دهد و تلاش برای رفع آن موفقیت آمیز نبود، می توانید با اپراتور وب سایت تماس بگیرید. گزینه دیگر (اگر نمی توانید به طور منظم گشت و گذار کنید زیرا یک پیام 400 Bad Request به طور دائم نشان داده می شود)، باید با ارائه دهنده اینترنت خود تماس بگیرید. حتی اگر مشکل در واقع با ارائه دهنده نباشد، تیم پشتیبانی ممکن است بتواند به شما کمک کند.

    در هر دو حالت، شما باید تا جایی که می توانید اطلاعات بیشتری را به مخاطب خود بدهید. این شامل تمام تلاش هایی است که تاکنون برای رهایی از این مشکل خسته کننده انجام داده اید. از طرف دیگر، شما همچنین باید اطلاعاتی در مورد سیستم خود بدهید: از کدام سیستم عامل و مرورگر استفاده می کنید؟ آیا افزونه هایی برای این کار نصب کرده اید؟ آیا از فایروال استفاده می کنید یا از طریق پروکسی در اینترنت گشت و گذار می کنید؟ همه این اطلاعات به تیم های پشتیبانی و استاد وب برای حل مشکل کمک می کند. با این کار می توانید دوباره در اینترنت بگردید بدون اینکه خطای 400 نمایش داده شود.

    حل مشکل HTTP 400

    ترجمه شده توسط سایت دریای شرق از سایت
    کپی بدون ذکر نام و لینک سایت دریای شرق ممنوع است !

    About The Author