Sobes.tech
Middle

Čo je to obmedzovanie rýchlosti a ako ho implementovať?

sobes.tech AI

Odpoveď od AI

Obmedzenie hitrosti (rate limiting) je mechanizmus, ki omejuje število zahtevkov, ki jih lahko odjemalec pošlje strežniku v določenem časovnem obdobju. To pomaga zaščititi strežnik pred preobremenitvijo in zlorabami.

Implementacija je lahko na strani strežnika ali odjemalca. Na sprednji strani se pogosto uporablja preprosta zaščita, kot je blokiranje ponovnih klikov ali omejevanje pogostosti klicev API.

Primer preproste implementacije v JavaScriptu z uporabo časovnika:

let lastRequestTime = 0;
const RATE_LIMIT_INTERVAL = 1000; // 1 sekunda

function sendRequest() {
  const now = Date.now();
  if (now - lastRequestTime < RATE_LIMIT_INTERVAL) {
    console.log('Preveč pogosto! Počakajte malo.');
    return;
  }
  lastRequestTime = now;
  fetch('/api/data')
    .then(response => response.json())
    .then(data => console.log(data));
}

Za bolj kompleksne primere se uporabljajo knjižnice ali se rate limiting implementira na strežniku z Redis-om, tokeni ali števalci.