1

これはやや単純な質問ですが、残念ながらこれまで具体的な答えを見つけることができませんでした.

ユーザー認証などの後に大量のデータを返す API を構築しています (まだ本番環境ではありません)。API システムは、ユーザーの使用状況を 1 秒単位および 1 時間単位で追跡します。ユーザーがこれらの制限のいずれかを超えると、サーバーはコンテンツを返さず、いくつかの http エラー コードを返します。

現在、私は 406 Not Acceptable を使用していますが、それが最適なコードだとは思いません。509 Bandwidth Limit Exceeded が適切であることが示唆されていますが、私の状況でベスト プラクティスと見なされるコードがあるかどうか疑問に思っています。よろしくお願いします。

4

2 に答える 2

3

ステータスコード429が思い浮かびます:

RFC 6585、セクション 4 : 429 要求が多すぎます

429 ステータス コードは、ユーザーが一定時間内に送信したリクエストが多すぎることを示します (「レート制限」)。

応答表現には、状態を説明する詳細を含める必要があり (SHOULD)、新しい要求を行う前に待機する時間を示す Retry-After ヘッダーを含めることができます (MAY)。

于 2012-11-02T23:21:18.917 に答える
1

該当するエラー コードが見つからなかったので、エラー コードはないと思います。この状況では、私があなただったら、あなたの 406 またはそのようなものでスティックを使用します。何かを決めて、それを使い続けます。とにかくブラウザは気にしません.APIは、あなたが返すコードを受け入れ、それがルールであると推測する人々によって使用されます-「使用量を超えると、406を取得します」. マジックナンバーが何であるかは問題ではないと思います。

于 2012-11-02T20:12:23.150 に答える