의미
본문의 미디어 타입(Content-Type)이나 인코딩을 지원하지 않아 서버가 요청을 거부합니다.
흔한 원인
- Content-Type: application/json 없이 JSON을 보냄
- JSON 전용 API에 폼 인코딩 본문을 보냄
- 업로드에 brotli 같은 지원하지 않는 Content-Encoding 사용
해결 방법
클라이언트 또는 방문자라면
보내는 본문에 맞는 Content-Type 헤더를 설정하고 API 문서의 형식을 따르세요.
사이트나 API 운영자라면
허용하는 타입을 Accept-Post나 Accept-Patch에 나열하고 명확한 메시지를 주세요.
응답 예시
HTTP/1.1
HTTP/1.1 415 Unsupported Media Type
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
Accept-Post: application/json
Content-Type: application/problem+json
{
"type": "about:blank",
"title": "Unsupported Media Type",
"status": 415,
"detail": "Send the body as application/json."
} 명세
자주 묻는 질문
› fetch()로 JSON을 보낼 때 415가 나는 이유는?
headers: {'Content-Type': 'application/json'}을 설정하지 않으면 fetch는 문자열 본문을 text/plain으로 보냅니다.
› 415와 400의 차이는?
415는 본문 타입이 잘못된 경우에 한정되고, 400은 일반적으로 형식이 잘못된 요청입니다.