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.