예매 가능한 자리가 생겼나 싶어 목록을 다시 봅니다. 한 번 더. 아직 그대로라 또 새로고침합니다. 그런데 이번에는 목록 대신 “요청이 많습니다. 잠시 후 다시 시도해 주세요”라는 안내가 나옵니다.
이번 가상 상황에서는 그 안내 옆에 429라는 숫자도 붙어 있습니다. 빨리 보고 싶어서 더 눌렀는데, 돌아온 답은 잠깐 쉬라는 말입니다.

HTTP의 429 Too Many Requests는 일정 시간 동안 요청을 너무 많이 보냈다는 응답입니다. 요청 빈도를 제한하는 이런 방식을 요청 횟수 제한, 또는 rate limiting이라고 부릅니다.[1]
‘한 번 더’도 요청이 될 수 있습니다
브라우저가 페이지나 데이터를 달라고 서버에 보내는 것이 요청입니다. 새로고침으로 데이터를 다시 받으려 하면, 서비스에 추가 요청이 갈 수 있습니다. 계속 누르는 행동이 이미 걸린 제한을 풀어 주는 것은 아닙니다.
서비스는 정해 둔 범위와 시간에 들어오는 요청을 셀 수 있습니다. 어떤 기능에 대한 요청을 셀지, 어떤 사용자의 요청으로 묶을지는 구현마다 다릅니다. 로그인 정보나 쿠키를 기준으로 구분할 수도 있습니다.[2]
그래서 429를 봤다고 “내가 새로고침을 너무 많이 눌렀구나”로 원인을 확정할 수는 없습니다. 반복 새로고침은 가능한 상황의 한 예이고, 실제 제한 기준과 원인은 그 서비스의 안내를 봐야 합니다.
언제 다시 시도할지 함께 알려 주기도
429 응답에는 Retry-After라는 대기 안내가 함께 올 수 있습니다. 다음 요청을 보내기 전에 얼마나 기다려야 하는지 나타내는 응답 정보입니다. 항상 포함되는 것은 아닙니다.[3]
가상 응답을 읽어 보면
이 예시의 뜻: 다음 요청 전 120초, 즉 2분 기다리라는 안내.
실제 서비스에 접속하지 않는 정적 예시입니다. 120초는 설명용 수치이며, 모든 서비스의 정책이나 2분 뒤 정상화된다는 보장이 아닙니다. 타이머나 재요청 버튼은 없습니다.
이처럼 Retry-After가 숫자로 주어지면 초 단위로 읽습니다. 날짜와 시각으로 표시하는 방식도 있습니다.[3] 실제 화면에 대기 안내가 있다면 그 내용을 확인하고, 안내를 읽기도 전에 새로고침부터 반복하지 않는 편이 좋습니다.

기다리는 동안 화면이 조용해도, 계속 누른다고 시간을 앞당기는 것은 아닙니다. 위 예시는 실제 서버의 대기열이나 처리 속도를 보여 주는 화면도 아닙니다.
429만 보고 계정이 정지됐다고 생각하지 않기
429 자체가 말하는 것은 요청 빈도에 관한 제한입니다. 이 숫자만으로 영구 차단, 계정 정지, 서비스 전체 장애를 확정할 수는 없습니다. 무엇이 제한됐는지에 관한 설명이 함께 있다면 그 내용을 먼저 봅니다.[2]
기다린 뒤에도 같은 문제가 계속된다면 서비스의 도움말과 이용 제한 안내를 확인하세요. 필요한 경우 표시된 메시지를 함께 전달해 지원을 받으면 됩니다. 서비스마다 기준이 다르므로 “몇 번까지는 괜찮다”는 공통 횟수를 정해 둘 수는 없습니다.
다음번에는 손보다 안내를 먼저 보기
- 요청이 많다는 안내가 보이면 반복 새로고침을 멈춥니다.
- 대기 시간이나 재시도 안내가 있으면 그 내용을 확인합니다.
- 안내대로 기다려도 계속된다면 해당 서비스의 도움말이나 지원 경로를 확인합니다.
새로고침은 답답할 때 누르기 쉬운 버튼입니다. 하지만 서비스가 요청을 줄여 달라고 답했다면, 그다음 할 일은 한 번 더 누르기 전에 안내를 읽는 것입니다.
[1] MDN — 429 Too Many Requests
[2] RFC 6585 §4 — 429 Too Many Requests
예매 목록과 응답 내용은 설명을 위한 가상 상황입니다. 실제 API 호출·429 발생 실험·부하 테스트를 수행하지 않습니다. 원본 영화 장면은 요청을 멈추거나 기다리는 반응의 비유이며 실제 서비스 운영 화면이 아닙니다.