415 Unsupported Media Type 오류 원인과 해결 방법 (API·웹 서버 가이드)

415 Unsupported Media Type 오류

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과 클라이언트 요청이 다를 경우 오류가 발생합니다.


빠른 진단 체크리스트

  1. 요청 헤더의 Content-Type 값 확인 (application/json, multipart/form-data 등)
  2. 서버 로그에서 거부된 Content-Type 기록 확인
  3. 파일 업로드 시 MIME 타입이 올바른지 점검
  4. API 명세와 클라이언트 구현 비교
  5. 프록시/게이트웨이에서 Content-Type 변조 여부 확인
  6. 서버 설정(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/서버 설정 점검을 통해 해결할 수 있습니다.


이 게시물이 얼마나 유용했습니까?

평점을 매겨주세요.

평균 평점 5 / 5. 투표수 : 99

가장 먼저, 게시물을 평가 해보세요.

댓글 남기기

error: 우 클릭이 불가능 합니다!!!