인프런 커뮤니티 질문&답변

11 1님의 프로필 이미지
11 1

작성한 질문수

모든 개발자를 위한 HTTP 웹 기본 지식

2xx - 성공

200이나 201인데 body에 데이터가 없어도 되는지

해결된 질문

작성

·

419

·

수정됨

0

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]

204 No Content 응답 페이로드에 보낼 데이터가 없다는 말을 보고 궁금한 점이 생겼습니다.

 

질문1)

200이나 201은 응답 메시지 body에 데이터를 넣는데,

200이나 201인데도 body에 데이터가 없어도 되나요? 데이터가 없으면 꼭 204여야 하나요?

 

질문2)

그리고 웹 문서 편집기에서 save를 누르는 상황에 204를 안 쓰고 200 혹은 201을 써도 되는지도 궁금합니다. 이 경우엔 201은 될 것 같기도 한데, 200은 안 되려나요? save를 하면 리소스를 등록(?)하는 거니깐 201이 적합한가요?

답변 1

1

안녕하세요. 11 1님, 공식 서포터즈 코즈위버입니다.

HTTP 상태코드에 따라 디테일한 설정들이 명시되있으나 실무에서는 이 스펙을 상세하게 지키고 있지는 않습니다. 통신자체가 성공일 경우 HTTP상태는 항상 200 으로 처리하며 HTTP바디에 미리 규약한 형태의 메세시로 분류하는 경우가 많습니다.

가령 사용자가 잘못된 파라미터를 넘긴경우 HTTP상태는 200으로 응답하나, HTTP 바디에 {result:false, code: 10001, message:'회원아이디는 필수값입니다.'} 와 같은 형태로 응답하여 처리가 제대로 되지 않았음을 알립니다.

이처럼 응답값을 프로젝트마다 미리 약속한 형태로 조절하는 경우로 소통하는 경우가 많으며 HTTP상태코드를 세밀하게 조절하는 방식은 많이 사용하지 않습니다.

감사합니다.

11 1님의 프로필 이미지
11 1
질문자

감사합니다

11 1님의 프로필 이미지
11 1

작성한 질문수

질문하기