Back to questions
Middle
2
Что такое rate limiting и как его реализовать?
Companies where asked
TokenTech
Answer from AI
sobes.tech AI
Rate limiting — это механизм ограничения количества запросов, которые клиент может отправить к серверу за определённый промежуток времени. Это помогает защитить сервер от перегрузок и злоупотреблений.
Реализация может быть на стороне сервера или клиента. На фронтенде часто делают простую защиту, например, блокируя повторные нажатия кнопок или ограничивая частоту вызовов API.
Пример простой реализации на JavaScript с использованием таймера:
let lastRequestTime = 0;
const RATE_LIMIT_INTERVAL = 1000; // 1 секунда
function sendRequest() {
const now = Date.now();
if (now - lastRequestTime < RATE_LIMIT_INTERVAL) {
console.log('Слишком часто! Подождите немного.');
return;
}
lastRequestTime = now;
// отправляем запрос
fetch('/api/data')
.then(response => response.json())
.then(data => console.log(data));
}
Для более сложных случаев используют библиотеки или реализуют rate limiting на сервере с помощью Redis, токенов или счётчиков.