MIME이란? Multipurpose Internet Mail Extensions의 약자로 파일 변환을 뜻한다.
MIME는 이메일과 함께 동봉할 파일을 텍스트 문자로 전환해서 이메일 시스템을 통해 전달하기 위해 개발되었기 때문에 이름에 'Internet Mail Extensions' 가 붙는다.
현재는 웹을 통해서 여러 형태의 파일을 전달하는데 쓰이고 있다.
MIME 을 사용하기 전에는 UUEncode 방식을 이용하고 있었으며, UUEncode에는 치명적인 단점이 있었다. 그러한 단점을 보강하여 새로운 인코딩 방식이 등장하게 되었으니 이것을 MIME 이라고 한다.
예전엔 텍스트 파일을 주고 받는데 ASCII로 공통된 표준에 따르기만 하면 문제가 없었다.
하지만 네트워크를 통해 ASCII 파일이 아닌 바이너리 파일을 보내는 경우가 생기게 되었다.
(이러한 바이너리 파일에는 음악파일, 무비파일, 워드파일 등등의 문서를 지칭한다)
하지만 ASCII 만으로는 전송이 불가능하여 이러한 바이너리 파일들을 기존의 시스템에서 문제 없이 전달하기 위해서는 텍스트 파일로 변환이 필요하게 되었다.
이러한 텍스트 파일로 변환을 인코딩(Encoding) 이라고 하며, 텍스트 파일을 바이너리 파일로 변환하는 과정을 디코딩(Decoding) 이라고 한다.
특정 Content-Type은 파일을 웹서버로 부터 전달 받아 웹브라우저에서 열수 있거나 열 수 없을 수 있다.
웹브라우저에 서버에 접속하여 html 문서를 요청하면 html 문서에 있는 이미지 파일의 경로를 불러올 수 있는데, 이러한 과정에서 이미지의 경로에 있는 파일이 웹 브라우저에서 지원되는 MIME Type 이라면 웹 브라우저를 이용해 열어볼 수 있다.
바이너리 파일(음악파일, 무비파일, 워드파일 등등) 도 마찬가지이다. 주로 쓰고 있는 포맷인 .gif , .jpg , .mov 등등의 파일들은 웹 브라우저에서 무리 없이 열리지만 특정 브라우저에서 지원하지 않는 유형은 따로 지정을 해줘야 한다.
type
: 데이터의 큰 카테고리를 나타낸다. 예를 들어, text
, image
, audio
, video
, application
등이 있다.subtype
: 데이터의 세부 형식을 나타낸다. 예를 들어, text/html
, image/jpeg
, audio/mp3
등이 있다.text/plain
: 일반 텍스트 파일text/html
: HTML 문서image/jpeg
: JPEG 이미지 파일audio/mp3
: MP3 오디오 파일application/json
: JSON 데이터웹에서 MIME 타입은 주로 다음 두 가지 상황에서 사용된다.
파일 확장자는 파일의 형식을 나타내는 데 사용되며, 예를 들어 .html
, .jpg
, .mp3
등이 있습니다. 파일 확장자와 MIME 타입은 서로 다른 개념이지만, 둘 다 파일의 형식을 식별하는 데 사용되므로, 일반적으로 특정 파일 확장자는 특정 MIME 타입과 관련이 있다.