追加のHTTPステータスコード(RFC6585)の1つは
このHTTP応答ステータスで役立つHTTP / REST APIレート制限HTTP応答ヘッダーの例はどこにありますか?
追加のHTTPステータスコード(RFC6585)の1つは
このHTTP応答ステータスで役立つHTTP / REST APIレート制限HTTP応答ヘッダーの例はどこにありますか?
回答:
HTTPAPIレート制限HTTP応答ヘッダーの例を次に示します。4つの一般的なRESTAPIから取得:Github、Vimeo、Twitter、Imgur:
#=============================#=============================================#
# HTTP Header # Description #
#=============================#=============================================#
| X-RateLimit-Limit | Request limit per hour |
+-----------------------------+---------------------------------------------+
| X-RateLimit-Remaining | The number of requests left for the time |
| | window |
+-----------------------------+---------------------------------------------+
#=============================#=============================================#
# 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は、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 |
+-----------------------------+---------------------------------------------+
#=============================#=============================================#
# 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 |
+-----------------------------+---------------------------------------------+
request
:github.com/webjay/x-rate
API固有のヘッダーに加えて、控えめな標準ヘッダーを忘れないでくださいRetry-After
サーバーは「Retry-After」ヘッダーフィールドを送信して、ユーザーエージェントがフォローアップリクエストを行う前に待機する必要がある時間を示します。このフィールドの値は、HTTP日付または遅延する秒数のいずれかです。応答を受信した後。
この規格は、503または3xxステータスコードで使用する場合に、特定の追加の推奨事項を作成します。
Retry-Afterは、503(Service Unavailable)応答で送信された場合、クライアントがサービスを利用できないと予想される期間を示します。3xx(リダイレクト)応答とともに送信された場合、Retry-Afterは、リダイレクトされた要求を発行する前にユーザーエージェントが待機するように求められる最小時間を示します。
response.headers["x-ratelimit-limit"]