추가 HTTP 상태 코드 ( RFC6585 ) 중 하나는 다음과 같습니다.
이 HTTP 응답 상태에 유용한 HTTP / REST API 속도 제한 HTTP 응답 헤더의 예는 어디에서 찾을 수 있습니까?
답변:
다음은 HTTP API 속도 제한 HTTP 응답 헤더의 몇 가지 예입니다. 네 가지 일반적인 REST API : 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 상태 코드와 함께 사용할 때 특정 추가 권장 사항을 만듭니다 .
503 (서비스를 사용할 수 없음) 응답과 함께 전송 된 경우 Retry-After는 클라이언트가 서비스를 사용할 수 없을 것으로 예상되는 시간을 나타냅니다. 3xx (리디렉션) 응답과 함께 전송되는 경우 Retry-After는 리디렉션 된 요청을 실행하기 전에 사용자 에이전트가 대기하도록 요청되는 최소 시간을 나타냅니다.
response.headers["x-ratelimit-limit"]