[Network] MIME이란?

윤동환·2023년 3월 20일
0

Network

목록 보기
3/9
post-thumbnail

MIME (Multipurpose Internet Mail Extensions)

전자 메일 메시지 의 형식을 확장하여 오디오, 비디오, 이미지 및 응용 프로그램의 첨부 파일은 물론 ASCII 이외의 문자 집합 으로 된 텍스트를 지원하는 인터넷 표준 입니다.
MIME 형식의 이메일 메시지는 일반적으로 SMTP( Simple Mail Transfer Protocol ), POP( Post Office Protocol ) 및 IMAP( Internet Message Access Protocol )과 같은 표준 프로토콜을 사용하여 전송됩니다.

  • MIME은 원래 각기 다른 전자메인 시스템 사이에서 메세지가 오갈 떄 겪는 문제점을 해결하기 위해 설계됨
  • 이메일에서 잘 동작하기 때문에 HTTP에서도 멀티미디어 콘텐츠를 기술하고 라벨을 붙이기 위해 채택됨

웹 서버는 모든 HTTP객체 데이터에 MIME타입을 붙임

  • 웹 브라우저는 서버로 부터 객체를 돌려받을 때 다룰수 있는 객체인지 MIME타입을 통해 확인
  • 대부분의 웹 브라우저는 잘 알려진 객체 타입 수백가지를 다룰 수 있음
  • ex) 이미지 파일 보여주기, 오디오 파일 스피커로 재생 등

MIME타입 표시 방법

/ 로 구분된 주 타입과 부타입으로 이루어진 문자열 라벨

주타입/부타입 (primary object type / specific subtype)

MIME 종류

미디어 타입설명
text/html엔터티 본문은 HTML문서
text/plain엔터티 본문은 플레인 텍스트 문서
image/gif엔터티 본문은 gif 이미지
image/jpeg엔터티 본문은 jpeg 이미지
audio/x-wav엔터티 본문은 wav 음향 데이터를 포함
model/vml엔터티 본문은 삼차원 VRML 모델
application/vnd.ms-powerpoint엔터티 본문은 마이크로소프트 파워포인트 프레젠테이션
multipart/byteranges엔터티 본문은 여러 부분으로 나뉘는데, 각 부분은 전체 문서의 특정 범위(바이트 단위)를 담고 있다.
message/http엔터티 본문은 완전한 HTTP메시지를 담고 있다. (TRACE 메서드)

연혁

MIME 은 Andrew 특정 데이터 형식에 대한 교차 플랫폼 대안으로 CMU( Carnegie Mellon University ) 에서 개발된 Andrew Project 의 일부인 Andrew Messaging System에서 시작되었습니다 .

위키 참조

Cotent-Tranfer-Encoding 종류

MIME는 바이너리 데이터를 ASCII 텍스트 형식으로 변환하기 위한 몇가지 방법을 정의합니다.

일반 SMTP에 사용

  • 7bit : [1-127]의 ASCII코드로 이루어진 데이터로 줄 단위로 표현하며 CRLF로 끝난다. 한줄 최대 길이는 CRLF를 제외하고 998자이다.
  • quoted-printable : 약간의 바이너리 데이터가 포함된 US-ASCII로 이루어진 텍스트 데이터를 표현시 효과적이다. 특별한 변환없이 그대로 표시되어 효율적이다.
  • base64 : 임의의 바이너리 데이터를 7비트 데이터로 변환한다. 고정된 오버헤드가 발생하고 비 텍스트 데이터의 변환시 사용한다.

8BITMIME 지원하는 SMTP 서버에 사용

  • 8bit : 8비트로 표현된 데이터로 한줄당 998자로 표현한다.
  • binary : 일련의 octets, SMTP에선 사용할 수 없다.
profile
모르면 공부하고 알게되면 공유하는 개발자

0개의 댓글