Sobes.tech
Middle

Rate limiting nədir və onu necə həyata keçirmək olar?

sobes.tech Süni İntellekt

AI-dan cavab

Rate limiting — bu mexanizm, hansı ki, müştərinin müəyyən zaman intervalında serverə göndərə biləcəyi sorğuların sayını məhdudlaşdırır. Bu, serveri yüklənmələr və sui-istifadələrdən qorumağa kömək edir.

Tətbiq server və ya müştəri tərəfində ola bilər. Ön tərəfdə, adətən, sadə qoruma tətbiq olunur, məsələn, təkrarlanan klikləri bloklamaq və ya API çağırışlarının tezliyini məhdudlaşdırmaq.

JavaScript-də zamanlayıcı istifadə edərək sadə tətbiq nümunəsi:

let lastRequestTime = 0;
const RATE_LIMIT_INTERVAL = 1000; // 1 saniyə

function sendRequest() {
  const now = Date.now();
  if (now - lastRequestTime < RATE_LIMIT_INTERVAL) {
    console.log('Çox tez! Bir az gözləyin.');
    return;
  }
  lastRequestTime = now;
  // sorğunu göndəririk
  fetch('/api/data')
    .then(response => response.json())
    .then(data => console.log(data));
}

Daha mürəkkəb hallarda, kitabxanalar istifadə olunur və ya serverdə Redis, tokenlər və ya sayğaclar vasitəsilə rate limiting həyata keçirilir.