Представьте, что вы сделали классный API.
Запустили. Всё работает идеально.
А потом один пользователь по ошибке запускает цикл, который начинает отправлять 1000 запросов в секунду. Или мобильное приложение зациклилось и бесконечно обновляет данные.
И всё.
Сервис начинает тормозить. Остальные пользователи получают ошибки. Серверу становится очень грустно. 😅
Именно для этого существует rate limit — ограничение на количество запросов за определённое время.
Например:
🔹 не больше 100 запросов в минуту с одного пользователя
🔹 не больше 10 запросов в секунду с одного IP
🔹 разные лимиты для обычных и премиум-пользователей
Если лимит превышен, сервер отвечает ошибкой (обычно 429 Too Many Requests) и просит немного подождать.
Самое интересное, что rate limit защищает не только от DDoS-атак и злоумышленников.
Гораздо чаще он спасает сервис... от обычных пользователей и багов в коде. Один неудачный цикл, сломанный скрипт или приложение, которое бесконечно повторяет запросы после ошибки, — и без ограничений они способны создать нагрузку, которой никто не ожидал.
Поэтому практически у любого крупного сервиса — от Telegram до GitHub — есть свои лимиты на количество запросов.
Иногда разработчик даже не замечает их существования...
Пока однажды не получает загадочную ошибку 429. 😄
💬 А вам уже приходилось ловить ошибку 429 Too Many Requests? Или пока только слышали о ней?