MIME (Multipurpose Internet Mail Extensions) 이란?
- 오직 텍스트만 보낼 수 있었던 SMTP의 단점을 보완, 메세지 내부에 다른 파일을 전송할 수 있도록 하는 전자메일 프로토콜
- MIME으로 인코딩한 파일은 Content-type 필드를 헤더에 담게 되고, 이를 통해 전송된 자원의 형식을 명시
- 현재는 전자메일에 국한되지 않고, 웹을 통해 여러 형태의 파일을 전송
# MIME 을 사용하는 이유
- 과거 텍스트파일을 주고 받는데 ASCII로 공통된 표준에 따르기만 하면 문제 X
→ 하지만 네트워크를 통해서 ASCII 파일이 아닌 바이너리 파일을 보내는 경우 많아짐
→ 인터넷에서 전송 가능한 문자는 오로지 ASCII 표준
→ 다른 데이터로 변환하는 과정 필요해짐
→ 바이너리 파일을 텍스트 파일로 변환하는 과정(인코딩)과
그 반대인 디코딩 과정이 추가됨
→ 초기에 사용된 인코딩 방식은 UUEncode는 단점이 존재
→ 이를 보강한 방식인 MIME 등장
MIME 타입 (Media 타입)
- 인터넷에서 전달되는 파일 포맷 및 포맷 컨텐츠를 위한 식별자
- IANA : 이를 표준화하고 출판하는 공식 기관
- Content-type 의 상위 개념
# MIME 타입 구조
- 기본적으로 type/subtype
구조
- type
은 파일의 종류를 의미, subtype
은 파일의 포맷을 의미
- 추가 세부정보를 보내기 위해 파라미터를 사용할 수 있음
- 웹이 보편화 되며 MIME type 또한 Media type 이라는 이름으로 확장
# MIME 타입 종류
discrete(개별) 타입
- text : 텍스트를 포함하는 문서
ex) plain, html, css, javascript
- image : 이미지 파일
ex) gif, png, jpeg, bmp, webp
- audio : 오디오 파일
ex) midi, webm, ogg, wav
- video : 비디오 파일
ex) webm, ogg
- model : 3D 오브젝트 관련 모델 데이터
ex) 3mf, vrml
- font : 폰트 데이터
ex) woff, ttf, otf
- application : 바이너리 데이터
ex) pdf, json, octet-stream
multipart 타입
- form-data
- mixed
- alternative
'네트워크 (Network) > HTTP' 카테고리의 다른 글
[HTTP] 상태 코드 (27) | 2024.02.01 |
---|---|
[HTTP] 쿠키(Cookie), 세션 (Session) (26) | 2024.02.01 |
[HTTP] 웹 서버(Web Server) & 웹 애플리케이션 서버(WAS) (32) | 2024.01.31 |
[HTTP] 웹 브라우저(Web Browser) (14) | 2024.01.30 |
[HTTP] REST API 방식 (29) | 2024.01.30 |