خطای ۴۲۹ آموزش رفع

آموزش رفع خطای ۴۲۹ (too many requests)

در برنامه نویسی خطاها بخش بسیار مهم در طراحی هستند که باید رفع و هندل شوند و اگر این کار انجام نشود سایت با مشکلات زیادی روبرو خواهد شد. هر کدام از این خطاها دارای یک کد هستند که به آن‌ها error code  می‌گویند. یکی از این خطاها، خطای ۴۲۹ است که یک خطای http است. این خطا به شما می‌گوید که سرور شما چقدر ظرفیت درخواست را می‌تواند در یک بازه زمانی هندل کند. اگر سرور شما نتواند حجم درخواست‌ها را هندل کند با این خطا مواجه می‌شود و باید درخواست‌ها بعد از مدتی دوباره ارسال شوند. برای رفع این مشکل توسط کاربر عادی اینترنت راه‌هایی وجود دارد، یکی از این راه‌ها را گفتیم و یکی ریگر تماس با مدیر وب سایت است.

زمان مطالعه: 3 دقیقه
بازدید: 2055
پرسش و پاسخ: 0

چه یک توسعه دهنده وب باشید و چه کاربر معمولی اینترنت، ممکن است با خطای 429 مواجه شده باشید. به این معنی که وب سایت نمی‌تواند تعداد درخواست های ارسال شده به آن را مدیریت کند.

برای یک برنامه ‌نویس، رفع این خطا ممکن است سخت باشد، زیرا در بسیاری از مواقع، نشان نمی‌دهد که برای رفع آن چه کاری باید انجام دهید.

خطای ۴۲۹ چگونه رفع می شود

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

راهنمایی خطای ۴۲۹

در این صورت باید کمی صبر کنید تا درخواست دیگری ارائه دهید. به دلایل امنیتی، ممکن است مدت زمان انتظار مشخص نشده باشد. اما اگر وب‌ سایت تجربه کاربری خوبی داشته باشد، به شما نشان می‌دهد که قبل از درخواست دیگر چقدر زمان باید منتظر بمانید.

در ادامه من به شما توضیح خواهم داد که خطای 429 به چه معناست و چگونه ممکن است یک توسعه دهنده آن را پیاده سازی کند. من همچنین نشان خواهم داد که برای حل آن به عنوان یک کاربر معمولی اینترنت چه کاری می‌توانید انجام دهید.

خطای 429 چیست؟

خطای 429 یک کد وضعیت HTTP است. این خطا به شما می‌گوید که چه زمانی استفاده از یک منبع اینترنتی از تعداد درخواست‌هایی که می‌تواند در یک بازه زمانی معین ارسال کند فراتر برود.

این خطا ممکن است به شکل دیگری به شما نشان داده شود مانند:

  • Error 429
  • 429 Too many requests
  • 429 (Too many requests)

همه چیز به این بستگی دارد که مدیر(Adminstrator) چگونه آن را سفارشی می‌کند. در زیر یک صفحه خطای ۴۰۴ ساخته‌ام تا به شما نشان دهم که می‌شود این صفحه را سفارشی سازی کرد. 

با این خطا، مدیران مسئول یک وب سایت یا منبع اینترنتی به شما می‌گویند که منابع کافی برای رسیدگی به تعداد درخواست‌هایی که شما ارسال می‌کنید را ندارند. در اصطلاح برنامه نویسی به آن rate limiting میگویند.

خطای ۴۲۹ سفارشی سازی شده

چرا در طراحی های تخصصی و اختصاصی موارد برنامه نویسی باید رعایت شود؟ مطالعه بیشتر در طراحی سایت اختصاصی

چه چیزی باعث خطای 429 می شود؟

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

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

مطالعه بیشتر در مورد api به زبان ساده: 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}!`));

و هنگامی که از محدودیت برای تعداد ثانیه های مشخص شده فراتر رفت، این پیام به کاربر نشان داده می شود:

برای رفع خطای 429 چه کاری می توانید انجام دهید

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

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

اگر وب ‌سایتی که مدیریت می‌کنید یک وب‌سایت وردپرسی است، یکی از افزونه‌ها یا تم‌های شما ممکن است باعث خطای 429 شده باشد. باید پلاگین‌ها و تم‌های سایت خود را یکی یکی غیرفعال کنید تا ببینید علت کدام یک از آنهاست.

اگر خطا مربوط به هاست است، باید با خدمات مشتری ارائه دهنده هاست خود تماس بگیرید.

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

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

بهزاد میرزازاده
مسیر درست با پرسش های درست ساخته می شود

مشاهده تمام مطالب نویسنده