본문 바로가기

용어 정리/모르는 IT 용어 정리

[모르는 IT 용어 정리] MIME가 뭐지?

개발을 하면서 MIME 타입에 대해서 많이 들어보았다.

하지만 난 처음 MIME 타입을 들었을 때 무엇인지 몰랐다.

그래서 MIME에 대해서 좀 찾아보고 정리하려고한다.

 

간단하게 메모 차원으로 여기에 정리해보겠다.

일단, MIME란?

Multipurpose Internet Mail Extensions의 약자라고 한다.

간단하게 파일변환을 뜻한다고 한다.

 

MIME이메일과 함께 동봉할 파일을 텍스트 문자로 전환해서

이메일 시스템을 통해서 전달하기 위해서 개발되었다고 한다.

그래서 그런지 이름에 Internet Mail Extension이라고 되어있다.

 

현재는 웹을 통해서 여러 형태의 파일을 전달하는데 사용되고 있다.

왜 MIME 사용??

MIME를 사용하기 전에는 UUEncode방식을 이용하고 있었다고 한다.

근데 UUEncode에 치명적인 단점이 있었고,

그 단점을 보강하여 새로운 인코딩 방식을 도입하게 되었는데,

그것이 MIME이다.

 

예전에는 텍스트파일을 주고 받는데, ASCII로 공통된 표준에 따르기만 하면 문제가 없었다. 

하지만 네트워크를 통해서 ASCII 파일이 아닌 바이너리 파일을 보낸 경우가 많아졌다.

바이너리 파일에는 '음악파일', '영상파일', '워드파일' 등등이 있다.

하지만 ASCII만으로 전송이 불가능한 이 바이너리 파일들을

기존 시스템에서 문제 없이 전달하기 위해서 텍스트파일로 변환이 필요하게 되었다.

 

이러한 텍스트파일로 변환인코딩(Encoding)이라고 하고,

텍스트 파일을 바이너리 파일로 다시 변환하는 것을 디코딩(Decoding)이라고 한다.

 

MIME로 인코딩한 파일Content-type정보를 파일의 앞 부분에 담게 되고

Content-type에는 여러가지 타입이 있다.

Content-type이란 무엇이지?

우리가 클라이언트 브라우저로 어떤 리소스를 보낼 때 (어떤 형태의 파일이나 문서 등)

웹 서버는 일련의 HTTP 헤더파일이나 자원을 포함하는 바이트의 스트림을 앞에 보낸다.

 

이러한 헤더는 클라이언트에게 웹 서버와 커뮤니케이션 세부사항을 묘사한다.

예를 들어, 헤더는 사용되고 있는 웹 서버의 소프트웨어의 타입, 서버 날짜와 시간

HTTP 프로토콜, 사용중인 커넥션 등을 지정한다.

 

헤더는 또한 클라이언트가 이런 가상 패스나 도메인에 대해서 저장해야 할 쿠키를 포함한다.

 

이와 관련해서, 헤더는 보내지는 자원의 Content-Type을 포함시키는 것이었다.

이것은 Content-Type 헤더에 의해 지정되는데

이 값이 표준 MIME-Type 중 하나이다.

 

MIME-type을 살펴봄으로써, 브라우저는 데이터를 나타내는데 어떤 종류의 파일 스트림인지 알수 있다.

HTML 페이지에서, 표준 MIME type은 'text/html'이다.

그리고 텍스트 파일이나 텍스트 스트림은 'text/text'이다.

 

더 자세한 Content-Type의 종류를 알아보기 위해서는

아래의 링크에서 확인할 수 있다.

 

https://juyoung-1008.tistory.com/4