MIME

jiyoon·2023년 10월 15일
0

MIME 이란?

  • MIME이란? Multipurpose Internet Mail Extensions의 약자로 파일 변환을 뜻한다.

  • MIME는 이메일과 함께 동봉할 파일을 텍스트 문자로 전환해서 이메일 시스템을 통해 전달하기 위해 개발되었기 때문에 이름에 'Internet Mail Extensions' 가 붙는다.

  • 현재는 웹을 통해서 여러 형태의 파일을 전달하는데 쓰이고 있다.


MIME 사용 이유

  • MIME 을 사용하기 전에는 UUEncode 방식을 이용하고 있었으며, UUEncode에는 치명적인 단점이 있었다. 그러한 단점을 보강하여 새로운 인코딩 방식이 등장하게 되었으니 이것을 MIME 이라고 한다.

  • 예전엔 텍스트 파일을 주고 받는데 ASCII로 공통된 표준에 따르기만 하면 문제가 없었다.
    하지만 네트워크를 통해 ASCII 파일이 아닌 바이너리 파일을 보내는 경우가 생기게 되었다.
    (이러한 바이너리 파일에는 음악파일, 무비파일, 워드파일 등등의 문서를 지칭한다)

  • 하지만 ASCII 만으로는 전송이 불가능하여 이러한 바이너리 파일들을 기존의 시스템에서 문제 없이 전달하기 위해서는 텍스트 파일로 변환이 필요하게 되었다.

  • 이러한 텍스트 파일로 변환을 인코딩(Encoding) 이라고 하며, 텍스트 파일을 바이너리 파일로 변환하는 과정을 디코딩(Decoding) 이라고 한다.

MIME으로 인코딩 한 파일은 Content-type 정보를 파일의 앞부분에 담게 되며, Content-type은 여러가지 타입이 있다.
  • 특정 Content-Type은 파일을 웹서버로 부터 전달 받아 웹브라우저에서 열수 있거나 열 수 없을 수 있다.

    웹브라우저에 서버에 접속하여 html 문서를 요청하면 html 문서에 있는 이미지 파일의 경로를 불러올 수 있는데, 이러한 과정에서 이미지의 경로에 있는 파일이 웹 브라우저에서 지원되는 MIME Type 이라면 웹 브라우저를 이용해 열어볼 수 있다.

    바이너리 파일(음악파일, 무비파일, 워드파일 등등) 도 마찬가지이다. 주로 쓰고 있는 포맷인 .gif , .jpg , .mov 등등의 파일들은 웹 브라우저에서 무리 없이 열리지만 특정 브라우저에서 지원하지 않는 유형은 따로 지정을 해줘야 한다.


MME 타입의 구조

  • 'Multipurpose Internet Mail Extensions' 의 약자로, 파일의 형식을 나타내는 문자열이다.
    원래는 이메일을 통해 다양한 형식의 메시지를 전송하기 위해 개발되었지만, 현재는 웹에서도 파일의 형식을 나타내기 위해 널리 사용된다.
  1. 일반적으로 'type/subtype'의 형태로 구성된다.
  • 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 타입의 역할

웹에서 MIME 타입은 주로 다음 두 가지 상황에서 사용된다.

  1. 웹 서버 → 웹 브라우저: 웹 서버가 웹 브라우저에게 데이터를 전송할 때, 해당 데이터의 MIME 타입을 함께 전송하며 이를 통해 웹 브라우저는 데이터를 올바르게 해석하고 표시할 수 있다.
  2. 웹 브라우저 → 웹 서버: 웹 브라우저가 웹 서버에게 데이터를 전송할 때, 예를 들어 파일 업로드 시, 해당 데이터의 MIME 타입을 함께 전송할 수 있다.

MIME 타입과 파일 확장자

파일 확장자는 파일의 형식을 나타내는 데 사용되며, 예를 들어 .html, .jpg, .mp3 등이 있습니다. 파일 확장자와 MIME 타입은 서로 다른 개념이지만, 둘 다 파일의 형식을 식별하는 데 사용되므로, 일반적으로 특정 파일 확장자는 특정 MIME 타입과 관련이 있다.


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

profile
한걸음 나아가는 개발자

0개의 댓글