본문 바로가기
CS

MIME 개념 정리

by 몰라몰라개복치 2021. 7. 28.

MIME

 

Multipurpose Internet Mail Extensions의 약자로 간략히 말씀을 드리면 파일 변환을 뜻함. 현재는 웹을 통해서 여러형태의 파일 전달하는데 쓰이고 있음.

 

 

MIME을 사용하기전에는 UUEncode 방식을 이용 => 단점을 보강하여 새로운 인코딩 방식 MIME 등장

 

 

 

예전에는 텍스트파일을 주고받는데 ASCII로 공통된 표준에 따르기만하면 문제 X 하지만 네트워크를 통해 ASCII 파일이 아닌 바이너리 파일을 보내는 경우가 발생

 

(* 바이너리 파일: 음악 파일, 무비 파일, 워드파일 등등의 문서)

 

 

하지만 ASCII만으로는 전송이 불가능하여 이러한 바이너리 파일들을 기존의 시스템에서 문제 없이 전달하기 위해서는 텍스트파일로 변환이 필요해짐

 

인코딩 : 바이너리 파일에서 텍스트 파일로 변환

디코딩 : 텍스트 파일에서 바이너리 파일로 변환

 

 

 

MIME으로 인코딩 한 파일은 Content-type 정보를 파일의 앞부분에 담게 됨. 또한 MIME 형식을 보면 앞부분의 파일의 종류(image) / 파일포맷(gif) 형태로 정의 

 

 

1. 개별 타입

1) text

- 특정 문자셋으로 구성된 텍스트 정보나 포스트스크립트 같은 formatted text 정보 전송에 사용

일반적인 서브타입 : text/plain, text/html, text/css, text/javascript

 

2) multipart

- 모든 종류의 이미지를 나타내며, 비디오는 포함되지 않습니다.

 

3) audio

- 모든 종류의 오디오 파일을 전송

일반적인 서브타입 : audio/midi, audio/mpeg, audio/webm, audio/ogg, audio/wav

 

4) video

- 모든 종류의 비디오 파일을 전송

일반적인 서브타입 : video/webm, video/ogg

 

5) application

- 모든 이진 데이터(바이너리 데이터)를 전송

일반적인 서브타입 : application/octet-stream, application/pkcs12, application/vnd.mspowerpoint, application/xhtml+xml, application/xml,  application/pdf

 

 

▶ 특정 서브타입이 없는 텍스트 문서들은 text/plain 로 사용되어야 한다고 하며, 이진문서는 application/octet0stream이 사용되어야 합니다.

 

 

2. 멀티파트 타입

multipart/form-data

multipart/byteranges

 

멀티파트 타입은 일반적으로 다른 MIME 타입들을 지닌 개별적인 파트들로 나누어지는 문서의 카테고리를 가리킵니다. 즉 이 타입은 합성된 문서를 나타내는 방법입니다.

 

 

 

3. 주요 MIME 타입

1) application/octet-stream - 이타입은 이진파일을 위한 기본값입니다.

- 실제로 잘 알려지지 않은 이진 파일을 의미하므로, 브라우저는 보통 자동으로 실행하지 않거나 실행해야 할지 묻기도 함.

 

2) text/plain - 텍스트파일에 대한 기본값입니다.

- 실제로 알려지지 않은 텍스트 파일일지라도 브라우저들은 그것을 디스플레이할 수 있다고 가정합니다

 

3) text/css - 웹페이지 내에서 보통 인터프리터되어야 하는 모든 css 파일들은 text/css 파일이 되어야 합니다.

- 대부분의 서버는 .css 접미사를 가진 파일들을 css 파일이라고 인식하지 못하여 text/plain 혹은 application/octet-stream MIME 타입으로 전송하는 경우가 있습니다 이러한 경우 대부분의 브라우저들이 CSS 파일이라고 인식하지 못하여 무시하게 될 것.

 

4) text/html - 모든 HTML 컨텐츠는 이 타입과 합께 서브되어야 합니다.

- application/xml+html 과 같은 XHTML을 위한 대체 MIME 타입들은 대부분은 사용하지 않는다고 합니다.

 

 

 

5) 이미지 타입

 

MIME Type

이미지 Type

 

image/gif

GIF 이미지 (무손실 압축, PNG에 의해 대체됨)

 

image/jpeg

JPEG 이미지

 

image/png

PNG 이미지

 

image/svg+xml

SVG 이미지 (벡터 이미지)

 

 

 

6) 오디오와 비디오 타입

MIME 타입 - audio/wave, audio/wav, audio/x-wav, audio/x-pn-wav

- WAVE 컨테이너 포맷 내 오디오 파일

 

MIME 타입 - audio/webm

- WebM 컨테이너 포맷 내 오디오 파일. 가장 일반적인 오디오 코덱인 Vorbis 그리고 Opus이 사용됩니다

 

MIME 타입 - video/webm

- WebM 컨테이너 포맷 내 오디오를 지원 가능한 비디오 파일. VP8 그리고 VP9이 이 안에서 가장 일반적으로 사용되는 비디오 코덱입니다

 

MIME 타입 - audio/ogg

- OGG 컨텐이너 포맷 내 오디오 파일

 

MIME 타입 - video/ogg

- OGG 컨테이너 포맷 내, 오디오를 지원 가능한 비디오 파일

 

MIME 타입 - application/ogg

- ogg 컨테이너 포맷을 사용하는 오디오 혹은 비디오 파일

 

7) multipart/form-data

- multipart/form-data는 브라우저에서 서버로 HTML Form의 내용을 전송 시 사용할 수 있습니다 멀티 파트 문서 형식으로써, 경계로 구분되어지는 다른 파트들로 구성됩니다 각 파트는 그 자체로 개체이며 자신만의 HTTP 헤더를 가지는데, 파일 업로드 필드를 위한 헤더로 Content-Disposition, 그리고 가장 일반적인 것 중 하나인 Content-Type이 있습니다

 

 

8) multipart/byteranges

- multipart/byteranges 는 브라우저로 회신하는 부분적인 응답 전송의 컨테그슽 내에서 사용됩니다 Partial Content 상태 코드가 전송된 경우, MIME 타입은 문서가 각각의 요청된 범위들 중 하나의 몇 가지 파트들로 구성되어 있음을 알려주기 위해 사용됩니다. 다른 멀티파트 타입처럼, Content-Type은 경계선 문자열을 정의하기 위해 boundary 디렉티브를 사용합니다. 각각의 다른 파트들은 문서의 실제 타입을 가진 Content-Type 헤더와 그들이 나타내는 범위를 가진 Content-Range를 지니고 있습니다.

 

 

 

 

출처: https://server-talk.tistory.com/183

 

MIME이란 무엇인가?

MIME이란 무엇인가? MIME이란? Multipurpose Internet Mail Extensions의 약자로 간략히 말씀을 드리면 파일 변환을 뜻한다고할 수 있습니다. MIME는 이메일과 함께 동봉할 파일을 텍스트 문자로 전환해서 이메

server-talk.tistory.com

 

 

'CS' 카테고리의 다른 글

LINUX 파일 시스템  (0) 2021.07.28
쿠키, 세션 개념 및 차이점  (0) 2021.07.28
패킷, 프레임, 세그먼트의 차이점은?  (0) 2021.07.28
리눅스 proc  (0) 2021.07.28
NESTAT 명령어 설명(리눅스 기준)  (0) 2021.07.28