Middle
Mi az a rate limiting, és hogyan valósítható meg?
sobes.tech MI
Válasz az MI-től
A rate limiting egy olyan mechanizmus, amely korlátozza, hogy egy kliens adott időintervallumban hány kérést küldhet a szervernek. Ez segít megvédeni a szervert a túlterheléstől és a visszaélésektől.
A megvalósítás lehet szerveroldali vagy kliensoldali. A frontendben gyakran egyszerű védelmet alkalmaznak, például ismételt kattintások blokkolásával vagy az API-hívások gyakoriságának korlátozásával.
Egyszerű példakód JavaScriptben időzítő használatával:
let lastRequestTime = 0;
const RATE_LIMIT_INTERVAL = 1000; // 1 másodperc
function sendRequest() {
const now = Date.now();
if (now - lastRequestTime < RATE_LIMIT_INTERVAL) {
console.log('Túl gyakran! Kérjük, várjon egy kicsit.');
return;
}
lastRequestTime = now;
fetch('/api/data')
.then(response => response.json())
.then(data => console.log(data));
}
Komplexebb esetekben könyvtárakat használnak, vagy a szerveren Redis, tokenek vagy számlálók segítségével valósítják meg a rate limitinget.