의미
요청이 성공했고 반환할 본문이 없습니다. 헤더로 새 ETag 같은 메타데이터를 전달할 수는 있습니다.
흔한 원인
- DELETE 성공
- PUT이나 PATCH가 변경을 저장했지만 리소스를 반환하지 않음
- CORS 프리플라이트나 비콘 엔드포인트의 응답
해결 방법
클라이언트 또는 방문자라면
본문을 파싱하지 마세요. 204에서 response.json()을 호출하면 예외가 발생합니다. 읽기 전에 상태를 확인하세요.
사이트나 API 운영자라면
204에는 절대 본문을 넣지 마세요. 클라이언트에 업데이트된 리소스가 필요하면 JSON과 함께 200을 반환하세요.
응답 예시
HTTP/1.1
HTTP/1.1 204 No Content
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx 명세
자주 묻는 질문
› 204에서 response.json()이 실패하는 이유는?
파싱할 본문이 없기 때문입니다. json()을 호출하기 전에 response.status === 204(또는 콘텐츠 길이)를 확인하세요.
› DELETE는 204와 200 중 무엇을 반환해야 하나요?
알릴 내용이 없으면 204, 삭제된 항목이나 확인 메시지 같은 본문을 반환하면 200입니다.