Middle
Šta je limitiranje brzine i kako ga implementirati?
sobes.tech АИ
Одговор од АИ
Ograničenje brzine (rate limiting) je mehanizam koji ograničava broj zahteva koje klijent može poslati serveru u određenom vremenskom periodu. Ovo pomaže u zaštiti servera od preopterećenja i zloupotreba.
Implementacija može biti na strani servera ili klijenta. Na frontendu se često primenjuje jednostavna zaštita, kao što je blokiranje ponovljenih klikova ili ograničavanje frekvencije poziva API-ja.
Primer jednostavne implementacije u JavaScript-u pomoću tajmera:
let lastRequestTime = 0;
const RATE_LIMIT_INTERVAL = 1000; // 1 sekunda
function sendRequest() {
const now = Date.now();
if (now - lastRequestTime < RATE_LIMIT_INTERVAL) {
console.log('Prečesto! Sačekajte malo.');
return;
}
lastRequestTime = now;
fetch('/api/data')
.then(response => response.json())
.then(data => console.log(data));
}
Za složenije slučajeve koriste se biblioteke ili se rate limiting implementira na serveru pomoću Redis-a, tokena ili brojača.