[rest] HTTP API 속도 제한 HTTP 응답 헤더의 예

추가 HTTP 상태 코드 ( RFC6585 ) 중 하나는 다음과 같습니다.

이 HTTP 응답 상태에 유용한 HTTP / REST API 속도 제한 HTTP 응답 헤더의 예는 어디에서 찾을 수 있습니까?



답변

다음은 HTTP API 속도 제한 HTTP 응답 헤더의 몇 가지 예입니다. 네 가지 일반적인 REST API : 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 REST API 속도 제한 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                 |
+-----------------------------+---------------------------------------------+

Imgur API 속도 제한 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                                    |
+-----------------------------+---------------------------------------------+


답변

API 특정 헤더 외에도 겸손한 표준 헤더를 잊지 마십시오.Retry-After

서버는 “Retry-After”헤더 필드를 전송하여 사용자 에이전트가 후속 요청을하기 전에 기다려야하는 시간을 나타냅니다 ….이 필드의 값은 HTTP 날짜 또는 지연 시간 (초)이 될 수 있습니다. 응답을받은 후.

표준은 503 또는 3xx 상태 코드와 함께 사용할 때 특정 추가 권장 사항을 만듭니다 .

503 (서비스를 사용할 수 없음) 응답과 함께 전송 된 경우 Retry-After는 클라이언트가 서비스를 사용할 수 없을 것으로 예상되는 시간을 나타냅니다. 3xx (리디렉션) 응답과 함께 전송되는 경우 Retry-After는 리디렉션 된 요청을 실행하기 전에 사용자 에이전트가 대기하도록 요청되는 최소 시간을 나타냅니다.


답변