メインコンテンツまでスキップ

4. 429 リクエストが多すぎます (Too Many Requests)

429 ステータスコードは、ユーザーが所定の時間内にあまりにも多くのリクエストを送信したことを示します ("レート制限")。

レスポンス表現は、この状態を説明する詳細を含めるべきであり (SHOULD)、新しいリクエストを行う前にどれくらい待つべきかを示す Retry-After ヘッダーを含めることができます (MAY)。

例えば:

HTTP/1.1 429 Too Many Requests
Content-Type: text/html
Retry-After: 3600

<html>
<head>
<title>Too Many Requests</title>
</head>
<body>
<h1>Too Many Requests</h1>
<p>I only allow 50 requests per hour to this Web site per
logged in user. Try again soon.</p>
</body>
</html>

この仕様では、オリジンサーバーがユーザーをどのように識別するか、またはリクエストをどのようにカウントするかは定義されていないことに注意してください。例えば、リクエストレートを制限しているオリジンサーバーは、リソースごと、サーバー全体、あるいは一連のサーバー全体でのリクエスト数に基づいてこれを行うことができます。同様に、認証資格情報やステートフルな cookie によってユーザーを識別する場合があります。

429 ステータスコードを持つレスポンスは、キャッシュによって保存されてはなりません (MUST NOT)。