202 Accepted란? 요청은 받았지만 처리가 아직 끝나지 않았을 때 사용하는 상태 코드 쉽게 이해하기
202 Accepted는 요청 접수 성공과 작업 완료를 구분합니다. 200·201·204와의 차이, 비동기·작업 큐·폴링, 결제 주의점까지 초보 기준으로 정리합니다.
영상 변환·대량 보고서·AI 생성·대량 메일처럼 몇 분 이상 걸릴 수 있는 작업이 있습니다. 요청은 정상 접수했지만 실제 작업은 아직 끝나지 않았을 수 있을 때 쓰는 코드가 202 Accepted입니다.
쉽게 말하면 — 요청은 정상적으로 접수했습니다. 작업 완료까지는 조금 더 시간이 필요합니다.
접수번호를 받은 상태와 비슷합니다
Accepted는 「접수됨」입니다. 관공서에 신청서를 내고 「접수됐습니다. 결과는 나중에」라는 답과 같습니다. 접수 성공 ≠ 업무 완료를 구분하는 코드입니다. 택배 송장번호처럼 작업번호를 주고 나중에 상태를 조회하는 설계와 잘 맞습니다.
200·201·204와의 차이
- 200 OK — 요청을 정상 처리(완료)
- 201 Created — 처리 완료 + 새 자원 생성
- 202 Accepted — 접수 완료, 작업은 진행 중일 수 있음
- 204 No Content — 처리 완료 + 본문 없음
모두 2xx 성공이지만, 202만 「최종 완료를 보장하지 않는다」는 점이 다릅니다.
비동기 · 작업 큐 · 상태 확인
동기 처리는 끝날 때까지 기다립니다. 비동기는 먼저 접수하고 실제 작업은 뒤에서 진행합니다(카운터에서 번호표 받고 자리에 앉는 것과 비슷합니다). 작업 큐는 처리할 일을 순서대로 적어 둔 대기표입니다.
202 직후 작업번호(예: 5831)를 주고 /jobs/5831로 대기·처리 중·완료·실패를 조회할 수 있습니다. 몇 초마다 상태를 묻는 방식을 폴링이라고 합니다. 완료 후 이메일·앱 알림·웹훅으로 알려줄 수도 있습니다.
화면에는 「202」 숫자 대신 「변환을 시작했습니다. 완료 후 다운로드할 수 있습니다」처럼 상황을 안내하는 편이 좋습니다.
반드시 성공은 아닙니다
202는 「접수 성공」일 뿐입니다. 이후 파일 손상 등으로 작업이 실패할 수 있습니다. 과거 202 응답을 되돌릴 수는 없고, 작업 조회에서 「실패」와 원인을 보여 줍니다. 결제처럼 결과가 중요하면 「결제 완료」가 아니라 「처리 중」으로 안내해야 합니다.
503·504·SEO와의 구분
회사소개·블로그 같은 검색용 페이지에 202만 주면 콘텐츠를 바로 보기 어렵습니다. 202는 작업 API·백그라운드 처리에 더 맞습니다. 오래 걸린다고 무조건 202는 아니며, 설계에 맞게 선택합니다.
자주 묻는 질문
202 Accepted란?
요청을 정상 접수했지만 실제 작업은 아직 완료되지 않았을 수 있다는 뜻입니다.
오류인가요?
아닙니다. 2xx 성공입니다.
200과 차이는?
200은 처리 완료, 202는 접수만 하고 작업이 진행 중일 수 있습니다.
받으면 반드시 성공?
아닙니다. 접수일 뿐 이후 실패할 수 있습니다.
204와 차이는?
204는 작업 완료·본문 없음, 202는 아직 완료되지 않았을 수 있습니다.
언제 많이 쓰나요?
대용량 파일·영상 변환·AI·보고서·대량 발송 같은 비동기 작업입니다.
정리
200 = 처리 완료 · 201 = 완료 + 생성 · 202 = 접수(작업 진행 가능) · 204 = 완료 + 본문 없음
오래 걸리는 작업에서는 사용자를 붙잡아 두기보다 먼저 접수하고 뒤에서 처리하는 방식이 유용할 수 있습니다. 요청의 목적(조회·생성·수정·삭제)을 표현하는 방식이 GET·POST·PUT·PATCH·DELETE 같은 HTTP 메서드입니다. 자세한 설명은 HTTP 메서드란?을 참고하세요.