Log in Get started
← 가이드 목록
시작하기

201 Created란? 새로운 데이터가 만들어졌을 때 사용하는 HTTP 상태 코드 쉽게 이해하기

201 Created는 요청 성공과 함께 새 자원이 생성됐다는 뜻입니다. 200과의 차이, POST, Location, 204, 가입·주문·API까지 초보 기준으로 정리합니다.

201 Created란? 새로운 데이터가 만들어졌을 때 사용하는 HTTP 상태 코드 쉽게 이해하기

서버는 페이지를 보여 주기만 하는 것이 아닙니다. 회원가입·게시글 작성·주문·예약·문의처럼 새로운 데이터를 만드는 요청도 많습니다.

201 Created는 요청을 정상 처리했고, 그 결과 새로운 데이터(자원)가 만들어졌을 때 쓰는 HTTP 상태 코드입니다.

쉽게 말하면 — 요청하신 작업을 처리했고, 새로운 항목도 만들었습니다.

회원가입·게시글·주문 등 새 데이터 생성 요청이 성공하면 201 Created가 반환되는 흐름
생성 요청 → 새 항목 → 201

거래처 등록과 비슷합니다

요청만 받은 것이 아니라 시스템에 새 거래처가 실제로 등록된 상태와 같습니다. Created는 「생성됨」입니다. 회원·게시글·주문·예약·댓글·프로젝트 생성과 잘 맞습니다.


200과의 차이

  • 200 OK — 요청을 정상 처리
  • 201 Created — 정상 처리 + 새 자원 생성

회사소개처럼 이미 있는 페이지를 보여 주는 GET은 보통 200이 자연스럽습니다. 새 글을 만드는 POST가 성공하면 201을 쓸 수 있습니다. 다만 POST가 항상 201은 아닙니다. 로그인·검색·명령 실행처럼 새 자원을 안 만들면 다른 성공 코드가 맞습니다. 전체 분류는 HTTP 상태 코드를 참고하세요.


어디에 쓰나

  • 회원가입 — 새 회원 행 생성
  • 게시글·댓글 — 새 ID 발급·저장
  • 주문·예약 — 새 주문번호·예약 건
  • 문의 저장 — DB에 새 문의로 남기면 201 가능

문의가 DB에 안 남고 이메일만내면 「새 자원 생성」이 아닐 수 있어 201이 필수는 아닙니다. 실제 처리 내용에 맞춰 고릅니다.


API · Location · 본문

일반 사용자는 「가입 완료」 화면만 보고, 프로그램은 상태 코드로 판단합니다. API에서 201이면 「생성 성공」으로 다음 단계를 이어갈 수 있습니다. 응답에 새 ID·제목·작성일을 실을 수 있고, Location 헤더로 새 주소(예: /posts/135)를 알려 줄 수 있습니다. 헤더 전반은 HTTP 헤더란?을 참고하세요.


204 · 수정·삭제와의 구분

  • 201 — 새 문서를 만듦
  • 204 — 작업은 끝났고 돌려줄 본문 없음
  • 수정 — 기존 자원 변경 → 보통 200/204
  • 삭제 — 생성 아님 → 201 아님

201은 오류가 아닙니다. 2xx 성공 계열입니다.


운영자가 알면 좋은 점

직접 설정할 일은 적어도, 「가입 API가 201」이면 새 회원 생성이 성공했다는 뜻으로 이해하면 됩니다. 상태 코드와 실제 결과가 어긋나면 문제입니다. 생성 실패인데 201을 주거나, DB에는 저장됐는데 이후 메일 오류로 500만 보이면 사용자는 실패로 착각하고 중복 주문할 수 있습니다. 결제·주문은 단계별 성공 여부를 명확히 관리해야 합니다.

버튼을 두 번 누르면 주문이 두 개 생길 수 있어, 상태 코드만으로 중복을 막을 수는 없습니다. 별도 중복 방지가 필요합니다. SEO용 기존 콘텐츠 페이지는 보통 200이고, 201은 API·생성 기능에서 더 흔합니다.


자주 묻는 질문

201 Created란?

요청 성공 + 새 자원이 생성되었다는 뜻입니다.

오류인가요?

아닙니다. 2xx 성공입니다.

200과 차이는?

200은 일반 성공, 201은 성공 + 생성이 추가됩니다.

가입에 쓸 수 있나요?

새 회원 데이터가 생기면 사용할 수 있습니다.

POST면 항상 201?

아닙니다. 실제로 새 자원이 생길 때 쓰는 것이 자연스럽습니다.

화면에서 숫자를 보나요?

드뭅니다. 안내 문장을 보고, API·개발 도구에서 코드를 확인합니다. 401·400·500과 구분하는 약속입니다.


정리

200 = 정상 처리 · 201 = 정상 처리 + 새 항목 생성

가입·글쓰기·주문처럼 「새로 만든다」는 기능에서 쓸 수 있습니다. 성공했지만 돌려줄 본문이 없으면 204 No Content를 쓰는 경우도 있습니다. 요청만 접수하고 실제 생성·처리는 뒤에서 이어가면 202 Accepted가 더 맞을 수 있습니다. 자세한 설명은 204 No Content란?, 202 Accepted란?을 참고하세요.