Multipurpose Internet Mail Extension의 약자다. 파일 변환의 타입이라고보면되는데 MIME은 이메일과 함께 동봉할 파일을 텍스트 문자(바이너리)로 전환해서 이메일 시스템을 통해 전달하기 위해 개발된 것이다. 그렇지만 현재는 웹을 통해서 여러 형태의 파일 전달을 위해 사용된다. 일종의 데이터 인코딩 방식이다.
예전엔 텍스트 파일을 주고받는데 ASCII(아스키)로 공통된 표준에 따르기만 하면됐는데, 네트워크에서 훨씬 효율적인 파일 이동을 위해 바이너리 파일을 보내는 경우가 생겼다. 바이너리파일이라고 했지만, 음악, 비디오, 이미지, 워드 같은 다양한 문서파일을 뜻한다.
이런 것들은 아스키만으로는 감당이 되지 않아서, 이런 바이너리파일들을 웹에서 문제없이 전달하기 위해서 "텍스트파일"로 변환할 필요가 생겼다.
이렇게 다양한 파일들을 텍스트 파일로 변환하는 과정은 Encoding(인코딩:코드로 바꾸다.)을 통해서 텍스트파일로 바꿔서 전송하고, 텍스트 파일을 바이너리 파일로 변환하는 Decoding(디코딩:코드를 풀다.)로 사용할 수 있도록 만든다.
MIME은 일종의 인코딩 디코딩의 한 방식이라고 볼 수 있다.
이를 통해서, 텍스트만 전달할 수 있는 웹에서 여러가지 파일들을 주고받을 수 있게 되었다.
MIME으로 인코딩한 파일은 Content-type
정보를 파일의 앞부분에 담게 되고, 그 타입은 여러가지가 있다.
특정 Content-type은 파일을 웹서버로부터 전달받아 웹브라우저에서 열수 있다. 웹브라우저에서 서버에 접속해서 html문서를 요청하면 html 문서에 있는 이미지에 접근할 수 있는데, 이미지가 MIME Type이라면 웹브라우저에서 열어볼 수도 있다.
바이너리 파일(음악파일, 무비파일, 워드파일 ...)등의 확장자인 .gif, .jpg, .mov등 파일들은 웹브라우저에서 무리없이 열리는데 브라우저에서 열 수 없는 파일은 유형을 따로 지정해줘야 한다.
MIME 형식 예시
파일 확장자 : .gif
MIME 형식 : image/gif => 파일 종류 / 파일 포맷
MIME 형식엔 공백, 대/소문자를 구분하지 않고 대부분 소문자로 쓴다.
1) text
서브타입 종류 : text/plane, text/html, text/css, text/javascript
2)img
서브타입 종류 : image/gif, image/png, image/jpeg, image/bmp, image/webp
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/json, application/pdf 기타 등등
나중에 정리