요청 한도와 캐싱
보낼 수 있는 요청 수, 이를 알려 주는 헤더, 캐시할 대상.
분당 120개 요청
공개 API에는 주소마다 1분에 120건의 요청을 보낼 수 있어요. 횟수는 매 정각 분이 시작될 때 다시 셉니다. 그때까지 남은 초는 RateLimit-Reset이 알려 줘요.
현재 상태를 알려 주는 헤더
모든 응답에는 시간 창에서 허용되는 요청 수인 RateLimit-Limit, 남은 요청 수인 RateLimit-Remaining, 시간 창이 다시 시작될 때까지 남은 초인 RateLimit-Reset이 포함돼요.
RateLimit-Limit: 120
RateLimit-Remaining: 116
RateLimit-Reset: 20한도를 넘었을 때
한도를 넘은 요청은 429 rate_limited로 응답하며, 초 단위의 Retry-After 헤더가 붙어요. 다음 요청 전까지 그만큼 기다리세요. 그사이에 더 보내도 대기 시간은 줄어들지 않아요.
HTTP/1.1 429 Too Many Requests
Retry-After: 37
{
"statusCode": 429,
"code": "rate_limited",
"message": "Too many requests. Wait and try again."
}사본을 보관하세요
카탈로그 데이터는 많아야 하루에 몇 번 바뀌어요. 사용하는 응답을 저장해 두고, 방문자마다 다시 요청하는 대신 정해진 주기로 새로 고치세요. 일부 응답에는 얼마나 오래 최신 상태로 유지되는지 알려 주는 Cache-Control 헤더가 붙어요.