91 votes

Exemples de limitation du débit de l'API HTTP En-têtes de réponse HTTP

Un des codes d'état HTTP supplémentaires ( RFC6585 ) est

Où puis-je trouver des exemples d'en-têtes de réponse HTTP / API REST Rate-Limiting utiles avec ce statut de réponse HTTP ?

141voto

M8R-1jmw5r Points 1923

Voici quelques exemples d'en-têtes de réponse HTTP API Rate Limiting. Tirés de quatre API REST courantes : Github, Vimeo, Twitter et Imgur :

Limitation du débit de 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                                      |
+-----------------------------+---------------------------------------------+

Limitation du débit de 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                 |
+-----------------------------+---------------------------------------------+

Limitation du débit de l'API REST de Twitter https://dev.twitter.com/docs/rate-limiting/1.1

Note : Twitter utilise des en-têtes aux noms similaires à ceux de Vimeo, mais avec un autre tiret dans chaque nom.

#=============================#=============================================#
# 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                 |
+-----------------------------+---------------------------------------------+

Limites des tarifs de l'API Imgur 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                                    |
+-----------------------------+---------------------------------------------+

35voto

Raedwald Points 8862

En plus des en-têtes spécifiques aux API, n'oubliez pas les humbles, standard Retry-After en-tête

Les serveurs envoient le champ d'en-tête "Retry-After" pour indiquer combien de temps l'agent utilisateur l'agent utilisateur doit attendre avant de faire une nouvelle demande..... La valeur de ce champ peut être soit une date HTTP, soit un nombre de secondes secondes à attendre après la réception de la réponse.

La norme précise supplémentaire recommandations lors de son utilisation avec un code d'état 503 ou 3xx :

Lorsque Lorsqu'il est envoyé avec une réponse 503 (Service indisponible), Retry-After indique combien de temps le service est censé être indisponible pour le client. Lorsqu'il est envoyé avec une réponse 3xx (Redirection), Retry-After indique le délai minimum que l'agent utilisateur doit attendre avant d'émettre la demande de la demande redirigée.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X