429_Too_Many_Requests
0
とぅーめにーりくえすつ
429 Too Many Requestsは、短期間で多数のアクセスが発生した場合にサーバーへの負荷を軽減するためにアクセスを遮断したことを表すHTTPステータスコードのひとつ。
多すぎるリクエストに対し、マシンへの負荷を軽減するためにそれらを遮断したことを表すHTTPステータスコード。
DoS攻撃やBot、あるいはAPI使用などに伴う短期間での多数のアクセスに律儀に応えていると、小規模なサーバではすぐパンクしてクラッシュしかねない。リクエストが増えると大きなサーバでも落とされてしまう。
そのため、一定以上のアクセスがあった場合にはそれらを遮断する必要がある。その際に返すのが、この429 Too Many Requestsである。
解決策は時間をおいてから再度アクセスすること。外部APIを使用しているときにこのエラーが起きたなら、リクエスト送信の頻度を落とすべきである。
エラーレスポンスのヘッダにはしばしばRetry-Afterヘッダが含まれているため、もしそれがあれば指定時間をあけるようにしよう。
逆にAPI設計者側からしても、なるべくいつごろ再開してよいかを通知することが推奨されている。
しばしば類似の用途に429ではなく403 Forbiddenが使われるケースもある。










