
415 Unsupported Media Type 오류는 서버가 클라이언트가 보낸 콘텐츠 타입을 지원하지 않을 때 발생합니다. 원인, 해결 방법, 환경별 가이드를 정리했습니다.
415 Unsupported Media Type 오류란?
415 Unsupported Media Type 오류는 클라이언트가 서버에 요청을 보낼 때 Content-Type이 서버에서 지원되지 않을 경우 반환되는 HTTP 상태 코드입니다. API 호출 시 JSON 대신 XML을 보내거나, 파일 업로드 시 잘못된 MIME 타입을 전송하면 발생합니다.
대표 원인 6가지
1) 잘못된 Content-Type 헤더
요청 헤더에 지정한 타입이 서버에서 허용되지 않는 경우 발생합니다.
2) 서버에서 지원하지 않는 포맷
API가 JSON만 지원하는데 XML을 전송하는 경우 발생합니다.
3) 잘못된 파일 MIME 타입
파일 업로드 시 브라우저나 클라이언트가 잘못된 MIME 타입을 전송할 수 있습니다.
4) 인코딩 문제
charset 값이 잘못 지정되었거나 서버에서 지원하지 않는 경우 오류가 발생합니다.
5) 프록시/게이트웨이 변조
중간 프록시 서버가 Content-Type을 변조해 서버가 이해하지 못하는 경우 발생합니다.
6) API 문서와 클라이언트 불일치
API 문서에 명시된 Content-Type과 클라이언트 요청이 다를 경우 오류가 발생합니다.
빠른 진단 체크리스트
- 요청 헤더의 Content-Type 값 확인 (
application/json,multipart/form-data등) - 서버 로그에서 거부된 Content-Type 기록 확인
- 파일 업로드 시 MIME 타입이 올바른지 점검
- API 명세와 클라이언트 구현 비교
- 프록시/게이트웨이에서 Content-Type 변조 여부 확인
- 서버 설정(Nginx/Apache)에서 허용 타입 목록 확인
환경별 해결 방법
웹 서버 (Nginx/Apache)
- Nginx:
types지시어 확인, MIME 매핑 추가 - Apache:
AddType지시어로 MIME 타입 추가 - 업로드 크기 제한과 Content-Type 제한 점검
API 서버/백엔드 프레임워크
- Express.js:
app.use(express.json())등 미들웨어 설정 - Spring Boot:
@Consumes("application/json")등 어노테이션 확인 - Django/Flask: 요청 Body 파서(Parser) 설정 점검
파일 업로드 환경
- 업로드 폼에
enctype="multipart/form-data"지정 - 파일 확장자와 MIME 타입 검증 로직 일치 확인
- 이미지/문서 등 허용된 포맷만 업로드 가능하게 제한
415 Unsupported Media Type 오류 : 점검 포인트
| 점검 항목 | 설명 | 조치 |
|---|---|---|
| Content-Type | 서버가 지원하지 않는 타입 | 올바른 타입 지정 |
| MIME 타입 | 업로드 파일 형식 오류 | MIME 매핑 수정 |
| 인코딩 설정 | charset 불일치 | UTF-8 등 표준 사용 |
| API 문서 일치 여부 | 명세와 다른 요청 | 문서와 코드 동기화 |
| 서버 설정 | MIME 매핑 누락 | types/AddType 추가 |
| 프록시 변조 | 중간 서버에서 수정됨 | 네트워크 경로 점검 |
SEO 영향과 대응
- 검색엔진 영향: 일반 사용자보다는 API 크롤러, 자동화 툴과 관련된 경우가 많습니다.
- 대응 방법: 잘못된 요청이 반복되지 않도록 API 문서를 명확히 하고,
415응답 시Supported Content-Type을 헤더로 제공하면 좋습니다.
자주 묻는 질문 (Q&A)
질문 1 : 415와 400의 차이는?
답변 1 : 400은 요청 전체가 잘못된 경우, 415는 요청 자체는 유효하지만 Content-Type이 지원되지 않는 경우입니다.
질문 2 : 파일 업로드 시만 415가 발생합니다. 원인은?
답변 2 : 클라이언트가 잘못된 MIME 타입을 전송하거나 서버가 해당 파일 포맷을 허용하지 않는 경우입니다.
질문 3 : 해결 방법은?
답변 3 : 올바른 Content-Type 지정, 서버 MIME 매핑 추가, API 명세와 일치하도록 수정이 필요합니다.
마무리
415 Unsupported Media Type 오류는 서버가 요청의 Content-Type을 지원하지 않을 때 발생합니다. 올바른 헤더 지정, MIME 타입 매핑, API/서버 설정 점검을 통해 해결할 수 있습니다.
- 브레이크 경고등 빨간 느낌표 켜졌을 때 : 즉시 정차·점검·수리 안내
- 냉각수온도 경고 켜졌을 때 : 즉시 정차·복구·수리비 가이드
- 자동차 엔진오일 압력 경고등 붉은 오일 주전자 켜졌을 때 자가진단, 수리비 안내
- 배터리 충전 시스템 경고등 주행해도 될까? 증상·점검·수리비 가이드
- 엔진 경고등 켜졌을 때 원인 7가지와 즉시 대처법