HTTPAPIレート制限HTTP応答ヘッダーの例


回答:


127

HTTPAPIレート制限HTTP応答ヘッダーの例を次に示します。4つの一般的なRESTAPIから取得:Github、Vimeo、Twitter、Imgur:

Githubレート制限http://developer.github.com/v3/#rate-limiting

#=============================#=============================================#
# HTTP Header                 # Description                                 #
#=============================#=============================================#
| X-RateLimit-Limit           | Request limit per hour                      |
+-----------------------------+---------------------------------------------+
| X-RateLimit-Remaining       | The number of requests left for the time    |
|                             | window                                      |
+-----------------------------+---------------------------------------------+

Vimeoのレート制限http://developer.vimeo.com/guidelines/rate-limiting

#=============================#=============================================#
# HTTP Header                 # Description                                 #
#=============================#=============================================#
| X-RateLimit-Limit           | Request limit per day / per 5 minutes       |
+-----------------------------+---------------------------------------------+
| X-RateLimit-Remaining       | The number of requests left for the time    |
|                             | window                                      |
+-----------------------------+---------------------------------------------+
| X-RateLimit-Reset           | The remaining window before the rate limit  |
|                             | resets in UTC epoch seconds                 |
+-----------------------------+---------------------------------------------+

Twitter RESTAPIレート制限https://dev.twitter.com/docs/rate-limiting/1.1

注: Twitterは、Vimeoと同様の名前のヘッダーを使用しますが、名前ごとに別のダッシュがあります。

#=============================#=============================================#
# HTTP Header                 # Description                                 #
#=============================#=============================================#
| X-Rate-Limit-Limit          | The rate limit ceiling for that given       |
|                             | request                                     |
+-----------------------------+---------------------------------------------+
| X-Rate-Limit-Remaining      | The number of requests left for the         |
|                             | 15 minute window                            |
+-----------------------------+---------------------------------------------+
| X-Rate-Limit-Reset          | The remaining window before the rate limit  |
|                             | resets in UTC epoch seconds                 |
+-----------------------------+---------------------------------------------+

ImgurAPIのレート制限http://api.imgur.com/

#=============================#=============================================#
# HTTP Header                 # Description                                 #
#=============================#=============================================#
| X-RateLimit-UserLimit       | Total credits that can be allocated         |
+-----------------------------+---------------------------------------------+
| X-RateLimit-UserRemaining   | Total credits available                     |
+-----------------------------+---------------------------------------------+
| X-RateLimit-UserReset       | Timestamp (unix epoch) for when the credits |
|                             | will be reset                               |
+-----------------------------+---------------------------------------------+
| X-RateLimit-ClientLimit     | Total credits that can be allocated for the |
|                             | application in a day                        |
+-----------------------------+---------------------------------------------+
| X-RateLimit-ClientRemaining | Total credits remaining for the application |
|                             | in a day                                    |
+-----------------------------+---------------------------------------------+

12
独自のレート制限ヘッダーを設計している場合は、BCP178のベストカレントプラクティスが関連リソースであり、Xプレフィックスを非推奨にすることをお勧めします。詳細については、元のRFC / BCPを確認してください。tools.ietf.org/html/bcp178
10gistic 2014

素晴らしい例です。パッケージで使用できるNode.jsパッケージを作成しましたrequestgithub.com/webjay/x-rate
webjay

32

API固有のヘッダーに加えて、控えめな標準ヘッダーを忘れないでくださいRetry-After

サーバーは「Retry-After」ヘッダーフィールドを送信して、ユーザーエージェントがフォローアップリクエストを行う前に待機する必要がある時間を示します。このフィールドの値は、HTTP日付または遅延する秒数のいずれかです。応答を受信した後。

この規格は、503または3xxステータスコードで使用する場合に、特定の追加の推奨事項を作成します。

Retry-Afterは、503(Service Unavailable)応答で送信された場合、クライアントがサービスを利用できないと予想される期間を示します。3xx(リダイレクト)応答とともに送信された場合、Retry-Afterは、リダイレクトされた要求を発行する前にユーザーエージェントが待機するように求められる最小時間を示します。



2
Retry-Afterツール503または30x応答ツール
html

3
@Russbearですが、そのセクションには、他の応答コードで使用できないことを示すものはありません。
レドワルド2016

20
429 Too Many Requests:「応答表現には、状態を説明する詳細を含める必要があります。また、新しい要求を行うまでの待機時間を示すRetry-Afterヘッダーを含めることができます。」tools.ietf.org/html/rfc6585#section-4
MRA
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.