---
title: "Android 15에서 .ogg 파일이 .ogg.ogx로 다운로드되는 이유 — 18년 된 MIME 타입의 복수"
published: 2026-03-17T23:00:20.000Z
canonical: https://jeff.news/article/669
---
# Android 15에서 .ogg 파일이 .ogg.ogx로 다운로드되는 이유 — 18년 된 MIME 타입의 복수

Android 15의 guessFileNameRfc6266 함수가 서버에서 application/ogg로 보낸 .ogg 파일에 .ogx 확장자를 덧붙여 이중 확장자를 만드는 문제. Android 버그가 아니라 18년 전 설정된 서버 MIME 타입 구성 문제이며, Wikimedia 등 대형 사이트에서도 발생했음.

- Android 15부터 `guessFileNameRfc6266` 함수가 파일명과 MIME 타입의 확장자가 다를 경우 확장자를 교체하지 않고 **뒤에 덧붙이는** 방식으로 변경됨
- 서버가 `.ogg` 파일을 `application/ogg`로 보내면 Android가 `.ogx` 확장자를 추가해 `.ogg.ogx`라는 이중 확장자가 생성됨
- Wikimedia, Fandom/WikiA 등 대형 사이트들이 실제로 `application/ogg`를 기본 Content-Type으로 사용 중이었음
- RFC 5334에서 `application/ogg`는 멀티플렉싱된 데이터용으로 재정의되었고, 오디오 파일에는 `audio/ogg`를 써야 맞음
- 18년 전 설정된 MIME 타입 구성이 문제없이 돌아가다가 Android 15의 로직 변경으로 한꺼번에 터진 상황

## 서버 측 수정 방법

- **Apache** (.htaccess 또는 mime.conf):
  ```
  AddType audio/ogg .ogg .oga .spx .opus
  AddType video/ogg .ogv
  AddType application/ogg .ogx
  ```
- **nginx** (mime.types):
  ```
  audio/ogg ogg oga spx opus;
  video/ogg ogv;
  application/ogg ogx;
  ```
- Wikimedia는 Phabricator T420422를 통해 이미 수정 완료됨 — 제보 다음 날 패치가 나감
- 데스크톱 브라우저(Firefox, Chrome, Safari)에서는 재현되지 않으며, Android 15+ 기기에서만 발생하는 문제임
- `.ogx` 파일 자체는 정상 재생되지만, 파일 공유 시 확장자 혼란이 발생함

## 핵심 포인트

- Android 15부터 파일명 확장자와 MIME 타입 불일치 시 확장자를 교체 대신 덧붙이는 방식으로 변경
- application/ogg는 RFC 5334에서 멀티플렉싱 데이터용으로 재정의되어 오디오에는 audio/ogg를 써야 함
- Wikimedia는 Phabricator T420422로 다음 날 수정 완료
- Apache와 nginx에서 올바른 MIME 타입 매핑 설정 방법 제공

## 인사이트

18년간 문제없이 돌아가던 서버 설정이 클라이언트 로직 하나의 변경으로 한꺼번에 깨질 수 있다는 점에서, MIME 타입 같은 웹 표준의 정확한 준수가 여전히 중요함을 보여줌.
