Sobes.tech
Middle

O que é limitação de taxa e como implementá-la?

sobes.tech IA

Resposta da IA

A limitação de taxa é um mecanismo que restringe o número de pedidos que um cliente pode enviar ao servidor num determinado período de tempo. Isto ajuda a proteger o servidor de sobrecargas e abusos.

A implementação pode ser do lado do servidor ou do cliente. No frontend, muitas vezes, é feita uma proteção simples, como bloquear cliques repetidos ou limitar a frequência de chamadas à API.

Exemplo de implementação simples em JavaScript usando um temporizador:

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

function sendRequest() {
  const now = Date.now();
  if (now - lastRequestTime < RATE_LIMIT_INTERVAL) {
    console.log('Demasiado frequente! Aguarde um pouco.');
    return;
  }
  lastRequestTime = now;
  // enviamos a requisição
  fetch('/api/data')
    .then(response => response.json())
    .then(data => console.log(data));
}

Para casos mais complexos, utilizam-se bibliotecas ou implementa-se a limitação de taxa no servidor com Redis, tokens ou contadores.