[꼼꼼한 개발자] 꼼코더

19. 모든 개발자를 위한 HTTP 웹 기본 지식 - [HTTP 상태코드] - 2xx 본문

HTTP

19. 모든 개발자를 위한 HTTP 웹 기본 지식 - [HTTP 상태코드] - 2xx

꼼코더 2022. 11. 23. 13:26
반응형

2️⃣ 2xx (Successful)

클라이언트의 요청을 성공적으로 처리

  • 200 OK
  • 201 Created
  • 202 Accepted
  • 204 No Content

👌🏻 200 OK

요청 성공 (GET과 같은 조회 요청에 성공적으로 응답하는 경우)

  1. 클라이언트가 서버에  GET으로 리소스를 요청함
  2. 서버가 리소스를 조회함
  3. Stauts code: 200 과 리소스를 HTTP 응답 메시지를 만들어 클라이언트에 보냄

👨🏻‍🏭 201 Created

요청 성공 후 새로운 리소스 생성됨(POST와 같은 생성요청으로 리소스가 생성이 정상적으로 된 경우)

  1. 클라이언트가 서버에  POST로 신규 자원을 등록 요청함
  2. 서버가 리소스를 생성하고 리소스의 URI를 관리함
  3. Stauts code: 201, Location: 생성된 리소스의 URI 로 HTTP 응답 메시지를 만들어 클라이언트에 보냄
    • 응답 메세지(헤더)에는 생성된 리소스 식별자가 Location필드에 추가되어 응답된다.

🙅🏻‍♂️ 202 Accepted

요청이 접수되었으나 처리가 완료되지 않음

  • 배치 처리 같은 곳에서 사용, 잘 사용하지는 않음
  • → 요청 접수 후 1시간 뒤 배치 프로세스가 요청을 처리함

🤷🏻‍♂️ 204 No Content

서버가 요청을 성공적으로 수행했지만, 응답 페이로드 본문에 보낼 데이터가 없음

  • 결과 내용이 없어도 204 메시지(2xx)만으로 성공 인식 가능함
  • 웹 문서 편집기의 save 버튼,
  • save 버튼의 결과로 아무 내용이 없어도 됨
  • save 버튼을 눌러도 같은 화면을 유지해야 함

🧹200, 201, 204 사용 정리

1) 200: 새롭게 업데이트한 페이지를 보여줘야 할 때 (GET, PATCH)

2) 201: 리소스를 신규로 생성했을 때 (POST)

3) 204: 사용자에게 보여지는 페이지를 바꾸지 않고 리소스를 업데이트할 때 (PUT)


🙋🏻‍♂️ Q&A

Q. 201과 204 상태코드의 차이는 무엇인가요?

 

A. 201과 204는 응답 메시지에 message-body(본문)을 포함하는지의 여부에 차이가 있다.

1) 201은 리소스를 새로 저장하고 저장된 경로를 Location에 포함해서 반환하며 응답 메시지에 본문을 첨부해도 된다.

2) 204는 응답 메시지에 본문을 첨부하면 안된다. 저장이 성공했고 결과 데이터를 반환할 일이 없을 때 사용하면 된다.

204sms 저장이 성공했고, 결과 데이터를 반환할 일이 없을 때 사용하면 된다.예를 들어서 웹 문서 편집기 기능을 제공하는데, 저장하기 버튼을 누르면, 저장의 성공 실패만 알면 되고, 그 결과가 없어도 될 때 사용하면 된다.

 

[출처] https://www.inflearn.com/questions/127458

 

[참고] https://developer.mozilla.org/ko/docs/Web/HTTP/Status/204

 

위 자료는 김영한님의 ‘모든 개발자를 위한 HTTP 웹 기본 지식’ 강의를 참고하여 작성하였습니다.
https://www.inflearn.com/course/http-웹-네트워크/dashboard
Comments