過剰なボットをブロックするための作業を行っています。 IPに基づいてリクエストを調整しています。過去に、IISを使用して、503エラーをクライアントに返しました。 429がより適切であると誰かが提案しました。私はどちらを使用するべきか、そしてその理由を理解しようとしています。このサイトで429を検索したところ、何も見つかりませんでした。
私はこれらを見つけました HTTPステータスコードの定義 ウィキペディアで:
429リクエストが多すぎますユーザーが一定時間内に送信したリクエストが多すぎます。レート制限スキームでの使用を目的としています。
503 Service Unavailableサーバーは現在使用できません(メンテナンスのために過負荷またはダウンしているため)。通常、これは一時的な状態です。
429は、問題のあるボットにサービスを提供するのにより適しているようです。これは正しいです?
ステータス429を使用する必要があります。これは、そのユーザー向けであり、他のユーザーが影響を受けない可能性があることを意味するためです。さらに、IPアドレスのブロックは、通常は一時的なブロックに関連付けられているのに対して、IPアドレスが禁止されていることを意味するため、403 Forbiddenの方が良好なステータスになります。したがって、ユーザーを合法化したくないため、一時的な問題として大量のデータを要求するマシンではステータス429を使用する必要があります。