네트워크/네트워크

HTTP - MIME(Multi-Purpost Internet Mail Extension, 마임) Type

본클라쓰 2009. 1. 5. 12:34

  

 기본적으로 인터넷 전자우편 전송 프로토콜인 SMTP는 7비트 ASCII 문자만 지원합니다. 이것은 7비트 ASCII문자로 표현 할 수 없는 영어 이외의 언어로 쓰인 전자우편은 제대로 전송될 수 없다는 것을 의미합니다. MIME 은 ASCII가 아닌 문자 인코딩을 이용해 영어가 아닌 다른 언어로 된 전자우편을 보낼 수 있는 방식을 지원합니다.

 

 또한 그림, 음악, 영화, 컴퓨터 프로그램과 같은 8비트 바이너리 파일을 전자우편으로 보낼 수 있도록 지원합니다. MIME는 메시지 종류를 나타내는 cotent-type, 메시지 인코딩 방식을 나타내는 content-transfer-encoding 과 같은 추가적인 전자우편 헤더를 정의하고 있습니다.

 

 MIME는 확장이 가능합니다. MIME 표준은 새로운 content-type과 또 다른 MIME 속성 값을 등록할 수 있는 방법을 정의하고 있습니다.

 

 Content-type이란 우리가 클라이언트 브라우저로 어떤 자원을 보낼 때, 웹 서버는 일련의 HTTP헤더로 파일이나 자원을 포함하는 바이트의 Stream을 앞에 보냅니다. 이런 헤더는 클라이언트에게 웹 서버와 커뮤니케이션의 세부사항을 설명합니다. 헤더에는 소프트웨어 타입, 서버의 날짜와 시간, 프로토콜, 사용중인 커넥션 타입, 쿠키 등이 있습니다. 헤더와 관련되 중요한 것은 자원의 content 타입이 포함되는 것입니다. 이 content 타입의 값은 MIME type으로 보내집니다.

  

 

MIME 타입은 다음과 같이 나타냅니다.  

파일의 종류 / 파일의 포맷

 

예)

text/html - text 형태 / html 파일
audio/mpeg
image/bmp
image/jpeg
application/pdf  - pdf 파일 형태
application/java
application/jar
application/x-zip
application/msword
application/msaccess
application/vnd.ms-excel
application/vnd.ms-powerpoint

application/octet-stream

 

이런 식으로 MIME type을 기술합니다. 

 

 application/octet-stream 타입은 8비트 바이너리 배열을 의미하며 http나 이메일상에서 application 형식이 지정되지 않았거나 형식을 모를 때 사용합니다. 결국 브라우저는 octer-stream 타입으로 지정된 경우 단지 바이너리 데이터로서 다운로드만 가능하게 처리하게 됩니다.