چه یک توسعه دهنده وب باشید و چه کاربر معمولی اینترنت، ممکن است با خطای 429 مواجه شده باشید. به این معنی که وب سایت نمیتواند تعداد درخواست های ارسال شده به آن را مدیریت کند.
برای یک برنامه نویس، رفع این خطا ممکن است سخت باشد، زیرا در بسیاری از مواقع، نشان نمیدهد که برای رفع آن چه کاری باید انجام دهید.
اما اگر به عنوان کاربر در حال گشت و گذار در شبکه هستید و با این خطا مواجه شدید، ممکن است راهنمایی وجود داشته باشد که نشان میدهد چه کاری باید انجام دهید.
در این صورت باید کمی صبر کنید تا درخواست دیگری ارائه دهید. به دلایل امنیتی، ممکن است مدت زمان انتظار مشخص نشده باشد. اما اگر وب سایت تجربه کاربری خوبی داشته باشد، به شما نشان میدهد که قبل از درخواست دیگر چقدر زمان باید منتظر بمانید.
در ادامه من به شما توضیح خواهم داد که خطای 429 به چه معناست و چگونه ممکن است یک توسعه دهنده آن را پیاده سازی کند. من همچنین نشان خواهم داد که برای حل آن به عنوان یک کاربر معمولی اینترنت چه کاری میتوانید انجام دهید.
خطای 429 چیست؟
خطای 429 یک کد وضعیت HTTP است. این خطا به شما میگوید که چه زمانی استفاده از یک منبع اینترنتی از تعداد درخواستهایی که میتواند در یک بازه زمانی معین ارسال کند فراتر برود.
این خطا ممکن است به شکل دیگری به شما نشان داده شود مانند:
- Error 429
- 429 Too many requests
- 429 (Too many requests)
همه چیز به این بستگی دارد که مدیر(Adminstrator) چگونه آن را سفارشی میکند. در زیر یک صفحه خطای ۴۰۴ ساختهام تا به شما نشان دهم که میشود این صفحه را سفارشی سازی کرد.
با این خطا، مدیران مسئول یک وب سایت یا منبع اینترنتی به شما میگویند که منابع کافی برای رسیدگی به تعداد درخواستهایی که شما ارسال میکنید را ندارند. در اصطلاح برنامه نویسی به آن rate limiting میگویند.
چه چیزی باعث خطای 429 می شود؟
شایع ترین علت خطای 429 نداشتن منابع کافی برای رسیدگی به درخواستهای همزمان است. به عنوان مثال، اگر این خطا در یک سرور میزبان نشان داده شود، میتواند به این معنی باشد که بسته ای که استفاده میکنید دارای محدودیت برای تعداد درخواستهایی است که میتوانید ارسال کنید.
اگر هنگام درخواست API این خطا رخ داد، به این معنی است که شما از تعداد درخواستهایی که میتوانید برای مدت معینی انجام دهید فراتر رفتهاید.
همچنین، اگر کاربر سعی کند بهطور مکرر به صفحهای در یک وب سایت دسترسی پیدا کند، سرور آن وب سایت میتواند یک ویژگی محدود کننده نرخ را فعال کند. این یک اقدام امنیتی خوب برای جلوگیری از حملات هکرها است. (هک سایتهای وردپرس)
به عنوان مثال، به این صورت است که میتوانید با استفاده از بسته express-rate-limit محدودیت نرخ را در یک برنامه Express پیاده سازی کنید:
// Import deps
const express = require("express");
const rateLimit = require("express-rate-limit");
const app = express();
// Port
const port = 4000;
const limiter = rateLimit({
windowMs: 5 * 60 * 1000,
max: 5, // Limits each IP to 5 per 15 minutes
message:
`<h1 style='display:flex; align-items:center; justify-content:center; height:100vh'>
429 - Too many Requests <br> Try again later!
</h1>`,
});
// Apply to all requests
app.use(limiter);
app.get("/", limiter, (req, res) => res.send("Hello World!"));
app.listen(port, () => console.log(`App listening on port ${port}!`));
و هنگامی که از محدودیت برای تعداد ثانیه های مشخص شده فراتر رفت، این پیام به کاربر نشان داده می شود:
http 429 چیست؟
http 429 یعنی خطایی که شما در یک صفحه از وب دریافت کرده اید و سرور در حال حاظر امکان پاسخگویی به شما را ندارد.
برای رفع خطای 429 چه کاری می توانید انجام دهید
به عنوان یک کاربر اینترنت، قبل از دادن درخواست دیگر، باید کمی صبر کنید. اما اگر خطا ادامه داشت، باید با مدیر وب سایت تماس بگیرید.
اگر یک ادمین سایت هستید، باید تعداد درخواستهایی را که در زمان مشخص شده (در صورت وجود) میشود داد را کاهش دهید. اگر محدودیت را خودتان کنترل میکنید، باید آن را برای یک دوره زمانی خاص پیاده سازی کنید.
اگر وب سایتی که مدیریت میکنید یک وبسایت وردپرسی است، یکی از افزونهها یا تمهای شما ممکن است باعث خطای 429 شده باشد. باید پلاگینها و تمهای سایت خود را یکی یکی غیرفعال کنید تا ببینید علت کدام یک از آنهاست.
اگر خطا مربوط به هاست است، باید با خدمات مشتری ارائه دهنده هاست خود تماس بگیرید.
هیچ مدیر وب سایتی نمیخواهد سرورش از کار بیفتد. بنابراین، از نظر فنی، ارور 429 یک خطا نیست. این راهی است که سرور به شما می گوید منابع کافی برای رسیدگی به تعداد بالای درخواست هایی که میشود، ندارد.
رفع خطای 429 در گوگل (معنی too many requests)
معنی too many requests یعنی تعداد درخواست های زیاد از طرف شماست که توسط سرور با خطا مواجه می شوید. بهتر است بعد از گذشت چند دقیقه دوباره امتحان کنید یا آی پی خود را تغییر دهید.
رفع خطای 429 در گوگل، اینستاگرام و اندروید
رفع خطای 429 در گوگل، اینستاگرام و اندروید موردی است که مردم سرچ می کنند و ربطی به گوگل، اینستاگرام و اندروید ندارد بلکه به سایت سرویس دهنده ای ربط دارد که شما از طریق گوگل درخواست رسیدن به صفحه مورد نظر را دارید این مورد بخاطر تعداد درخواست غیرمجاز از آی پی مورد نظر است. که بهتر است بعد از چند ثانیه دوباره درخواست نمایش سایت مورد نظر را داشته باشید.