inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

2xx - 성공

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

해결된 질문

513

11 1

작성한 질문수 147

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상태코드를 세밀하게 조절하는 방식은 많이 사용하지 않습니다.

감사합니다.

0

11 1

감사합니다

캐시무효화시 그냥 no-store만 넣어되지 않나요?

0

71

2

API의 헤더와 바디에 대한 문의 입니다.

0

70

2

수정폼과 수정

0

66

1

쿠키에 대해 질문드려요!

0

88

2

서버에서 캐시 검증 헤더를 직접 처리해야 하나요?

0

86

1

http api get, post 멱등

0

40

1

컬렉션의 개념

0

49

1

시작라인에 들어가는 요청 대상 경로는 상대 경로 아닌가요?

0

54

1

PATCH 는 PUT처럼 멱등이여야 하지 않나요?

0

81

1

리소스 질문드립니다

0

56

1

IP 패킷 질문입니다.

0

59

1

html from, http api

0

75

2

브라우저 캐시가 60초 유효하다는게 무슨 뜻일까요

0

120

1

stateless 무상태 예제가 생각났는데. 저가 생각 한게 맞는지 궁금합니다.

0

99

1

URI 및 URL 질문, 왜 자바(스프링)에서는 이렇게 나누었는지?

0

141

1

host와 port

0

106

1

tcp/ip는 연결을 유지? 아니면 유지하지 않음?

0

145

1

다음 강의 커리큘럼 질문!!

0

130

2

캐시 개념에 대해서 설명하시지는 않으시는건가요?

0

113

1

클라이언트가 patch, delete 요청 시 알아야 하는 url

0

91

1

html form 형태 전송시 new, edit 등 컨트롤 리소스를 사용하는 이유

0

168

2

비 연결성(connectionless) 강의에서 질문입니다~

0

140

1

PATCH를 사용하지 못할 때 왜 POST?

0

162

2

협상과 우선순위3 질문드립니다.

1

130

1