Почему в API с ключом доступа лимиты часто устанавливаются по IP, а не по ключу?
Всем привет!
Собссно, вопрос в следующем: как известно, некоторые API устанавливают лимиты запросов, например, 100 в минуту для одного IP. Но почему именно по IP? Ведь в данном случае можно пользовать прокси, и вообще каждый раз обращаться к нему с разных IP. В чем тогда профит? Понятно, что получение и использование ключей доступа проконтролировать намного проще и эффективнее, а часто они вообще выдаются вручную. Да и в реализации это проще: если в первом случае нужно записывать количество запросов на каждый IP в БД (или это делается как-то по-другому?), то во втором этого достаточно просто для каждого ключа доступа, а значит записей будет меньше в разы.
Смотря где, у крупных компаний и корпораций добра лимиты по ключу. Может быть это открытое API которое не требует авторизации по ключику. Тогда лимит проще всего по IP
Возможно, у этих систем перед сервером стоит система защиты от DoS, функционирующая на транспортном уровне. Она не парсит запрос и не знает ничего о ключе доступа, но эффективно ограничивает рейт запросов с одного IP.