در این مقاله قصد داریم درباره خطا 429 Too Many Requests اطلاعاتی را در اختیار شما قرار دهیم. ابتدا به اینکه این خطا چیست میپردازیم. سپس به علت رخ دادن این خطا نگاهی میاندازیم. در انتها نیز به شما خواهیم آموخت که راه حل رفع خطای 429 به چه صورت است. پس تا انتهای این مقاله جذاب همراه ما باشید.
خطای 429 Too Many Requests چیست؟
به عنوان صاحب وب سایت، گاهی با پیام های خطا مواجه خواهیدشد. برخی از این خطاها را میتوان به راحتی حل کرد، اما برخی دیگر از خطاها پیچیده هستند. برای مثال خطای HTTP 429 را در نظر بگیرید. مشخص کردن علت این خطا کار نسبتا پیچیدهای است چرا که جزئیات کمی در رابطه با ماهیت و نحوه حل آن ارائه میدهد. شما فقط میدانید که خطایی وجود دارد و باید آن را حل کنید اما دقیقا نمیدانید که چه اتفاقی افتاده و چرا. برای اینکه این مشکل را بهتر متوجه شوید و راههای رایج آن را بررسی کنید، ما ابتدا به شما میگوییم که خطای 429 به چه معنایی است و رایج ترین راه حل ها برای حل این خطا چیست.
خطای HTTP 429 یک کد وضعیت پاسخ HTTP است که نشان میدهد برنامه مشتری از محدودیت نرخ یا تعداد درخواستهایی که میتوانند در یک دوره زمانی معین ارسال کنند فراتر رفتهاست. به طور معمول، این کد نه تنها به مشتری میگوید که ارسال درخواست را متوقف کند، بلکه مشخص میکندکه چه زمانی میتواند درخواست دیگر خود را ارسال نماید.
چه چیزی باعث خطای 429 Too Many Requests میشود؟
در حقیقت، خطای 429 Too Many Requests به لحاظ فنی یک خطا نیست بلکه پاسخی از یک سرور، رابط برنامه نویسی برنامه (API)، یا افزونهای است که به برنامه مشتری میگوید که ارسال درخواست را متوقف کند. زیرا در حال حاضر منابع کافی برای پذیرش آن را ندارند. منظور از برنامه مشتری معمولاً وبسایت یا اپلیکیشن است، اما میتواند به هر کاربر (افرادی از جمله مدیر سایت یا بازدیدکننده یا هکر سایت) اشاره کند. به عنوان مثال، اگر کاربر سعی کند در مدت زمان کوتاهی به یک صفحه در وبسایت شما دسترسی پیدا کند، سرور شما ممکن است خطای Too Many Requests را ارسال نماید. در صورت تلاش مکرر برای ورود به سیستم، که در آن یک هکر به طور پیوسته سعی میکند وارد سایت شما شود، محدودیت نرخ یک اقدام امنیتی حائز اهمیت است. به عنوان مثال، اگر بیش از 50 درخواست از یک آدرس IP در مدتی یک دقیقه دریافت شود، PayPal Sandbo آن IP را برای پنج دقیقه مسدود میکند.
در حالی که پاسخ 429 ممکن است جنبه مجازات و تنبیه داشته باشد، اما در واقع یک اقدام محافظتی در برابر سوءاستفاده عمدی یا تصادفی کاربران از منابع سرور (یا API، افزونه یا سرویس دیگر) است. این اقدام برای جلوگیری از درخواستهای زیاد در مدت کم طراحی شده است که سرور یا سرویس دیگری را که قرار است توسط بسیاری از وبسایتها و برنامهها به اشتراک گذاشته و مصرف شود، تحت فشار قرار دهد. بنابراین، با کنترل تعداد و زمانبندی درخواستها، محدودیتهای نرخ از بروز مشکلات جلوگیری مینماید.
اگر به دلایل دیگر خطای 429 Too Many Requests را در سایت خود مشاهده میکنید، ممکناست نیاز باشد تعداد درخواستهای سرور یا تماسهای API را که انجام میشود، کاهش دهید. مراحلی که در ادامه مورد بحث قرار میگیرند، اصلاحات کلی برای خطای 429 Too Many Requests هستند. در صورتی که سایت وردپرس دارید، ممکن است به یک راه حل خاص وردپرس نیاز داشتهباشید. زیرا خطاهای رایج وردپرس متفاوت است. همچنین آموزش وردپرس هم دارای شرایط خاص خود است.
چگونه خطای HTTP 429 را رفع کنیم؟
- منتظر بمانید تا درخواست دیگری ارسال گردد.
- به نسخه بک آپ سایت( که قبلا آن را گرفتهاید و در غیر این صورت به تنظیمات اولیه قالب) بازگردید
- حد درخواستهای خود را تعیین کنید.
- با ارائه دهنده سرور و هاست خود تماس بگیرید.
بیشتر مراحل گفته شده بر اجتناب از خطای Too Many Requests تمرکز دارند، نه بر حل آن. با این وجود معرفی هر کدام خالی از لطف نیست.
منتظر بمانید تا درخواست دیگری ارسال گردد
ساده ترین راه برای رفع خطای HTTP 429 صبر کردن برای ارسال درخواست دیگر است. اغلب، این کد وضعیت با یک سربرگ «Retry-after» ارسال میشود که مدت زمانی را برای صبر کردن قبل از ارسال درخواست دیگر مشخص میکند. ممکن است فقط چند ثانیه یا چند دقیقه را مشخص کند.
به نسخه بک آپ خود باز گردید.
اگر سر صفحه «Retry-after» ارسال نشد و نمیدانید قبل از امتحان چقدر باید منتظر بمانید، نیاز است تا cms خود را به نسخه پشتیبان بازگردانید. با این کار به احتمال بسیار بالایی مشکل حل خواهد شد. با انجام این کار شما از ابتدا باید نرخ درخواست سایت خود را بررسی کنید. با این وجود ممکن است شما همچنان با ارور 429 مواجه شوید که برای رفع مشکل چند ثانیه تا چند دقیقه منتظر بمانید و مجددا برای ورود به سایت اقدام کنید.
حد درخواست های خود را تعیین کنید
در مبحث خطای 429 Too Many Requests باید حد درخواست های خود را تعیین کنید. فیلتر کردن، فرآیند محدود کردن تعداد درخواستهایی است که یک برنامه میتواند در مدت زمان معین ارسال کند. اگر از این حد تجاوز شود، درخواستهای سرور یا API معمولاً حذف میشوند یا با دادههای حافظه پنهان انجام میشوند. در حالی که این رویکرد اغلب توسط APIها یا پلتفرمهای شخص ثالث برای جلوگیری از فراتر رفتن محدودیتهای برنامههای مشتری استفادهمیشود، میتواند برای محدودکردن مصرف خود شما از APIهای شخص ثالث یا منابع سرور نیز مفید باشد. در واقع، شما میتوانید برای جلوگیری از فراتر رفتن از محدودیتهای سرور، API یا سایر سرویسهایی که استفاده میکنید، محدودیت شدیدتری را برای سایت خود اعمال کنید. اگر از یک API پر هزینه مانندTwitter API استفاده میکنید و نمیخواهید که از حد خود فراتر بروید، این کار ایده خوبی است.
برای رفع خطای 429 Too Many Requests با ارائه دهنده تماس بگیرید
تماس با ارائه دهنده های سرور و هاست همیشه گزینه ای برای رفع هرگونه خطا در وب سایتان به حساب میآید. البته این کار باید یکی از آخرین گزینه هایی باشد که آن را امتحان میکنید. اگر مراحل بالا را امتحان کرده اید و همچنان خطای 429 Too Many Requests را میبینید، ممکن است علت از سرور شما باشد و نه وبسایت شما. همچنین ممکن است میزبان شما درخواستهای سرویسها یا پلتفرمهای شخص ثالث خاصی را مسدود کند، مانند کنسول جستجوی Google، که درخواستهای زیادی را به وبسایتها ارسال میکند. با تماس با ارائه دهنده، ممکن است این مشکل برطرف شود یا شما را به خوبی راهنمایی نمایند.
در چه شرایطی میتوان از خطای 429 Too Many Requests اجتناب کرد ؟
ساده ترین راه برای جلوگیری از این خطا، کاهش تعداد درخواستهای ارسال شده در مدت زمان کوتاه است. سرور تعداد درخواستهایی را که در هر واحد زمانی ارسال میکنید پیگیری و آن را اجرامیکند و در صورتی که از حد تعیین شده تجاوز کند آن را مسدود خواهد کرد. به یاد داشته باشید، دریافت ارور 429 Too Many Requests لزوماً یک خطا نیست، این اتفاق روشی است که سرور به شما میگوید میزان درخواستهای شما بسیار بالا است و قادر به پذیرش و اجرای تمام آنها نیست. اگر اینطور است، کاری از دست شما بر نمیآید و تنها ارائه دهنده هاست و سرور شما است که میتواند مشکل را برطرف کند.
کلام آخر
چه سایت شما تحت تأثیر خطای 429 باشد یا خطایی دیگر، دانستن اینکه چطور این خطاها را رفع کنید، میتواند کسب و کار شما را نجات دهد. خطای وردپرس 429 Too Many Requests زمانی فعال میشود که یک کاربر (یا اسکریپت) درخواست های زیادی از سرور داشته باشد. این اخطار یک گزینهی امنیتی است، که برای محافظت از سایت شما در برابر حملات انکار سرویس توزیع شده (DDOS) طراحی شده است.
- مشکلی دارید؟ جواب خود را در پست فروم بگیرید
- منبع : بیست اسکریپت لطفا رعایت کنید