HTTP 429: ограничение частоты запросов
Статус 429 сообщает, что клиент превысил допустимую частоту запросов. Это сигнал снизить активность и разобраться в правилах сервиса, а не немедленно повторять тот же запрос в цикле.
Назначение
Статус 429 сообщает, что клиент превысил допустимую частоту запросов. Это сигнал снизить активность и разобраться в правилах сервиса, а не немедленно повторять тот же запрос в цикле.
Как это работает
Сервер может передать Retry-After с временем ожидания. Ограничение может относиться к пользователю, ключу доступа, адресу клиента или другому признаку; точные правила зависят от приложения.
Пример
HTTP/1.1 429 Too Many Requests
Content-Type: application/json
Retry-After: 60
{"message":"Подождите перед повторной попыткой"}
Что должно получиться
В примере сервер предлагает подождать 60 секунд. Это схематичный ответ, а не вызов ограничения на действующем сайте. После паузы успешный ответ всё равно не гарантирован.
Граница применения и частая ошибка
Не обходите ограничение сменой учётных данных или адресов. Не создавайте бесконечные автоматические повторы. Для безопасного клиента нужны предел числа попыток, отмена и учёт того, допустимо ли повторять саму операцию.
Самостоятельная проверка
На собственном стенде подставьте тестовый ответ 429 без генерации нагрузки. Проверьте сообщение пользователю, отсутствие плотного цикла и возможность отменить ожидание. При отсутствии Retry-After используйте явно выбранную ограниченную политику.