204 No Content: 콘텐츠가 반환되지 않았음을 나타내는 HTTP 상태 코드

スポンサーリンク
スポンサーリンク

204 No Content에 대하여

204 No Content의 개요

콘텐츠 없는 성공 응답을 나타내는 HTTP 상태 코드

204 No Content

개요 204 No Content 상태 코드는 요청이 성공적으로 처리되었지만, 응답 본문에 반환할 콘텐츠가 없을 때 사용됩니다. 추가 데이터가 필요 없는 요청에 적합합니다.

의미 클라이언트의 요청이 성공적으로 처리되었지만 응답 본문에는 아무것도 반환되지 않았습니다.

204 No Content는 언제 반환되나요?

  • 요청이 성공했으나 반환할 데이터가 없는 경우
  • 서버가 요청을 수락했지만 리소스 상태가 변하지 않은 경우
  • 비동기 처리를 트리거하면서 즉각적인 응답이 필요하지 않은 경우

204 No Content의 예시

리소스 업데이트 요청

PUT /api/resource/123 HTTP/1.1  
Host: example.com  
Content-Type: application/json  

{ "name": "Updated Resource", "status": "active" }  

응답 예시:

HTTP/1.1 204 No Content  

설명: 클라이언트가 PUT 요청으로 리소스를 업데이트하고 요청이 성공적으로 처리되었을 때 반환될 수 있습니다. 이 경우 서버는 응답 본문 없이 204 상태 코드만으로 성공을 알립니다.

리소스 삭제 요청

DELETE /api/resource/123 HTTP/1.1  
Host: example.com  

응답 예시:

HTTP/1.1 204 No Content  

설명: 클라이언트가 DELETE 요청으로 리소스를 삭제하고 삭제가 성공했을 때 반환됩니다. 이 상태 코드는 추가 정보를 반환할 필요가 없는 상황에서 성공을 알리기 위해 사용됩니다.

주의 사항

204 No Content를 사용할 때 고려해야 할 사항:

  • 응답 본문을 포함하지 않음
    204 응답은 본문을 포함해서는 안 됩니다. 본문이 포함되면 클라이언트가 혼란스러워질 수 있습니다.
  • 헤더의 적절한 설정
    Content-TypeContent-Length와 같은 콘텐츠 관련 헤더를 생략하거나 적절히 설정해야 합니다.

관련 HTTP 상태 코드와의 비교

204 No Content와 관련된 상태 코드에 대한 설명입니다:

  • 200 OK: 요청이 성공적이고 응답 본문에 데이터가 포함된 경우 사용됩니다.
  • 202 Accepted: 요청이 수락되었지만 처리가 아직 완료되지 않은 경우 사용됩니다.

이 차이를 이해하면 204 상태 코드를 적절히 사용할 수 있습니다.