Примеры HTTP API Ограничение скорости Заголовки ответа HTTP

60

Один из дополнительных кодов статуса HTTP (RFC6585)

Где можно найти примеры HTTP-заголовков HTTP-заголовков HTTP/REST, которые могут быть полезны с этим статусом ответа HTTP?

  • 0
    Кроме того, способ использования этих заголовков отличается. response.headers["x-ratelimit-limit"]
Теги:
rest
http
rate-limiting

2 ответа

102

Вот несколько примеров заголовков HTTP HTTP, ограничивающих HTTP-ответ. Взято из четырех общих API REST: 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                 |
+-----------------------------+---------------------------------------------+

Ограничение скорости передачи данных REST для Twitter 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                 |
+-----------------------------+---------------------------------------------+

Ограничения скорости 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                                    |
+-----------------------------+---------------------------------------------+
  • 8
    Если вы разрабатываете свои собственные заголовки ограничения скорости, BCP178 - это лучший ресурс, который рекомендует использовать префикс X в качестве устаревшего. Проверьте оригинал RFC / BCP для получения дополнительной информации. tools.ietf.org/html/bcp178
  • 0
    Прекрасные примеры, я создал пакет Node.js, который можно использовать с пакетом request : github.com/webjay/x-rate
18

В дополнение к конкретным API-заголовкам не забывайте о скромном стандартном заголовке Retry-After.

  • 0
    См. Также stackoverflow.com/questions/3764075/…
  • 1
    Retry-After предназначена для использования с 503 или 30x ответов tools.ietf.org/html/rfc7231#section-7.1.3
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню