Middle
Rate limiting nima va uni qanday amalga oshirish mumkin?
sobes.tech AI
AIdan javob
Rate limiting — bu mijozning ma'lum bir vaqt oralig'ida serverga yuborishi mumkin bo'lgan so'rovlar sonini cheklovchi mexanizm. Bu serverni ortiqcha yuklanish va suiiste'mollardan himoya qilishga yordam beradi.
Amalga oshirish server yoki mijoz tomonida bo'lishi mumkin. Frontendda odatda oddiy himoya qilish amalga oshiriladi, masalan, takroriy tugmalar bosishni bloklash yoki API chaqiruvlar chastotasini cheklash.
JavaScriptda vaqt taymeridan foydalanib oddiy amalga oshirish misoli:
let lastRequestTime = 0;
const RATE_LIMIT_INTERVAL = 1000; // 1 soniya
function sendRequest() {
const now = Date.now();
if (now - lastRequestTime < RATE_LIMIT_INTERVAL) {
console.log('Juda tez! Biroz kuting.');
return;
}
lastRequestTime = now;
// so'rov yuborish
fetch('/api/data')
.then(response => response.json())
.then(data => console.log(data));
}
Ko'proq murakkab holatlar uchun kutubxonalar ishlatiladi yoki serverda Redis, tokenlar yoki hisoblagichlar yordamida rate limiting amalga oshiriladi.