DevToolPal
한국어
4xx 클라이언트 오류

429 Too Many Requests

요청이 너무 많음

의미

클라이언트가 정해진 시간에 너무 많은 요청을 보냈습니다(속도 제한). Retry-After가 기다릴 시간을 알려줄 수 있습니다.

흔한 원인

  • API 속도 제한이나 할당량 초과
  • 백오프 없는 재시도 루프
  • 많은 사용자가 하나의 공유 IP 뒤에 있음

해결 방법

클라이언트 또는 방문자라면

Retry-After를 지키고, 지터가 있는 지수 백오프를 쓰며, 결과를 캐시하고 요청을 묶으세요.

사이트나 API 운영자라면

클라이언트가 적응할 수 있게 Retry-After와 RateLimit 헤더를 반환하고, IP뿐 아니라 키나 사용자 단위로 제한하세요.

응답 예시

HTTP/1.1
HTTP/1.1 429 Too Many Requests
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
Retry-After: 30
RateLimit-Policy: 100;w=60
Content-Type: application/problem+json

{
  "type": "about:blank",
  "title": "Too Many Requests",
  "status": 429,
  "detail": "Rate limit of 100 requests per minute exceeded."
}

명세

RFC 6585 §4

자주 묻는 질문

› 429 후에 얼마나 기다려야 하나요?

Retry-After가 있으면 따르고, 없으면 1, 2, 4, 8초처럼 무작위 지터를 섞어 지수적으로 늘리세요.

› 429가 SEO에 해롭나요?

Googlebot은 429를 보면 크롤링을 늦춥니다. 잠깐은 괜찮지만 오래가면 색인이 늦어질 수 있습니다.