본문 바로가기
어플리케이션

MIME Type(Multipurpose Internet Mail Extensions Type)에 대해 알아보겠습니다.

by forward error correction Circle 2025. 2. 20.
반응형

Ⅰ. MIME Type(Multipurpose Internet Mail Extensions Type)란?

 파일의 형식과 콘텐츠의 종류를 나타내는 표준 포맷입니다. 웹 브라우저, 서버, 이메일 클라이언트 등에서 데이터가 어떤 형식인지 구분하고, 적절한 방식으로 처리할 수 있도록 도와줍니다.

Ⅱ.  MIME Type(Multipurpose Internet Mail Extensions Type) 기본 구조

<주 유형>/<하위 유형>

주 유형(Primary Type): 데이터의 큰 범주를 나타냅니다.
하위 유형(Subtype): 보다 구체적인 파일 형식을 지정합니다.


Ex) image/png는 이미지 파일(image)이며, 그중에서도 PNG 형식(png)임을 의미합니다.

Ⅲ. MIME Type(Multipurpose Internet Mail Extensions Type) 분류

ⅰ. 텍스트(text)
일반적인 텍스트 파일을 의미합니다.

text/plain → 일반 텍스트 파일
text/html → HTML 문서
text/css → CSS 파일
text/javascript → JavaScript 파일

 

ⅱ.  애플리케이션(application)
특정한 프로그램이 처리하는 데이터를 포함합니다.

application/json → JSON 데이터
application/xml → XML 데이터
application/pdf → PDF 파일
application/zip → ZIP 압축 파일
application/octet-stream → 바이너리 데이터 (임의의 파일)

 

ⅲ. 이미지(image)
이미지 파일을 나타냅니다.

image/jpeg → JPEG 이미지
image/png → PNG 이미지
image/gif → GIF 이미지
image/svg+xml → SVG 이미지


ⅳ. 오디오(audio)
오디오(음성) 파일을 나타냅니다.

audio/mpeg → MP3 파일
audio/wav → WAV 파일
audio/ogg → OGG 파일

 

ⅴ. 비디오(video)
비디오(영상) 파일을 나타냅니다.

video/mp4 → MP4 파일
video/webm → WebM 파일
video/avi → AVI 파일

 

ⅵ. 멀티파트(multipart)
여러 개의 데이터가 결합된 형식을 의미합니다.

multipart/form-data → 웹 폼(form) 데이터 전송
multipart/mixed → 여러 가지 유형이 섞인 데이터

Ⅳ. MIME Type(Multipurpose Internet Mail Extensions Type) 활용 사례

ⅰ. 웹 서버와 브라우저
웹 서버는 클라이언트(브라우저)에게 콘텐츠를 전송할 때 Content-Type 헤더에 MIME 타입을 포함합니다.

HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8


이 경우, 브라우저는 해당 데이터를 HTML 문서로 해석하여 표시합니다.

ⅱ. 파일 업로드 및 다운로드
웹 애플리케이션에서 파일을 업로드할 때, 파일의 MIME 타입을 확인하여 올바른 형식인지 검사할 수 있습니다.

document.getElementById("fileInput").addEventListener("change", function(event) {
    let file = event.target.files[0];
    console.log("MIME Type:", file.type);
});

이 코드에서 사용자가 파일을 업로드하면, 그 파일의 MIME 타입을 확인할 수 있습니다.

ⅲ. 이메일 첨부 파일
이메일에서 첨부 파일이 포함될 경우, MIME 타입을 사용하여 파일의 형식을 구분합니다.
예를 들어, 이메일 본문과 첨부 파일이 같이 전송될 때 multipart/mixed 형식이 사용됩니다.

Ⅴ. MIME Type(Multipurpose Internet Mail Extensions Type) 타입 확인 방법

ⅰ. 파일 확장자로 확인
대부분의 경우 파일 확장자로 MIME 타입을 유추할 수 있습니다.
Ex) .png 파일 → image/png
ⅱ. 명령어를 이용한 확인 (Linux/macOS)
터미널에서 file --mime-type 명령어를 사용하면 특정 파일의 MIME 타입을 확인할 수 있습니다.

명령어 
file --mime-type example.jpg

출력 결과
example.jpg: image/jpeg

ⅲ. 브라우저 개발자 도구에서 확인
F12(개발자 도구) → Network 탭 → 요청한 리소스의 Content-Type 확인

Ⅵ. MIME Type(Multipurpose Internet Mail Extensions Type) 설정

ⅰ. Apache 서버
.htaccess 파일에서 MIME 타입을 설정할 수 있습니다.

AddType application/pdf .pdf
AddType image/jpeg .jpg .jpeg


ⅱ.  Nginx 서버
Nginx 설정 파일에서 MIME 타입을 추가할 수 있습니다.

types {
    text/html   html;
    image/png   png;
    application/json json;
}

 

반응형