本文へスキップ

レートリミットとは?

れーとりみっと

レートリミットとは、APIやサービスへのリクエスト数を一定時間内に制限する仕組みで、サーバーの過負荷防止や不正利用対策のために用いられます。

レートリミット(Rate Limit)とは、特定のユーザーやIPアドレスAPIキーが一定時間内に送信できるリクエストの上限数を設けることで、サービスの安定稼働と公平な利用を保証する制御の仕組みです。

インターネット上のAPIやWebサービスでは、一部の利用者が大量のリクエストを短時間に送り続けると、サーバーへの負荷が集中して他のユーザーのサービス体験を損なうリスクがあります。レートリミットはこうした事態を防ぐセーフガードとして機能します。

代表的な実装方式には以下があります。

  • 固定ウィンドウ方式: 1分間・1時間などの固定期間でカウントをリセットする
  • スライディングウィンドウ方式: 直近の一定時間を常に参照し、より滑らかに制限する
  • トークンバケット方式: バケツにトークンを一定速度で補充し、リクエストごとに消費する
  • リーキーバケット方式: リクエストをキューに溜め、一定速度で処理して急激な流入を平滑化する

レートリミットに達した場合、サーバーはHTTPステータスコード429(Too Many Requests)を返すのが一般的で、応答ヘッダーにはリセットまでの待ち時間が含まれることもあります。DDoS攻撃への対策やスクレイピング抑止にも有効であり、公開APIを提供するサービスにとって不可欠な機能です。

使い方・例文

TwitterのAPIではAPIキーごとに「15分間に最大180リクエスト」といったレートリミットが設定されており、それを超えると一時的にアクセスが制限されます。

この用語をシェア

𝕏 でポスト LINE

最終更新:

関連用語