MIME
MIME(Multipurpose Internet Mail Extensions, 다목적 인터넷 메일 확장)는 본래 전자우편에서 다양한 문자와 바이너리 콘텐츠를 전달하기 위해 개발된 확장 체계다. 웹에서는 MIME 미디어 타입이 HTTP 메시지에 포함된 데이터의 형식과 처리 방법을 식별하는...
| 분류 | 인터넷 미디어 타입과 콘텐츠 형식 체계 |
|---|---|
| 정식 명칭 | Multipurpose Internet Mail Extensions |
| 관련 기술 | World Wide Web, HTML, HTTP, 웹 브라우저 |
| 관련 규격 | RFC 6838: Media Type Specifications |
MIME(Multipurpose Internet Mail Extensions, 다목적 인터넷 메일 확장)는 본래 전자우편에서 다양한 문자와 바이너리 콘텐츠를 전달하기 위해 개발된 확장 체계다. 웹에서는 MIME 미디어 타입이 HTTP 메시지에 포함된 데이터의 형식과 처리 방법을 식별하는 데 널리 사용된다. 문서 본문의 바이트가 HTML인지 이미지인지, JSON인지 등을 수신자가 판단할 수 있도록 명시하는 역할을 한다.
미디어 타입은 일반적으로 type/subtype 형태로 표현된다. 예를 들어 text/html, text/css, application/json, image/png는 웹에서 자주 사용되는 타입이다. 일부 타입에는 charset이나 boundary 같은 매개변수가 추가되어 인코딩이나 다중 부분 콘텐츠의 구조를 설명할 수 있다. 타입의 이름과 매개변수는 규칙에 따라 등록되고 해석된다.
HTTP 응답의 Content-Type 헤더는 서버가 반환하는 표현의 미디어 타입을 알린다. 브라우저는 이 정보를 바탕으로 문서를 파싱하거나 미디어를 표시하고, 다운로드를 처리할 수 있다. 콘텐츠의 실제 내용과 선언된 타입이 다르면 잘못된 해석이나 보안 문제가 발생할 수 있으며 브라우저의 MIME 스니핑 정책이 관여할 수 있다.
멀티파트 메시지는 하나의 전송 본문 안에 여러 콘텐츠 부분을 담을 때 사용된다. 웹 폼의 파일 업로드에는 multipart/form-data가 활용되고 각 부분은 별도의 헤더와 본문을 가질 수 있다. 이 구조는 문서의 내용 표현과 HTTP의 요청·응답 처리 방식을 연결하지만 MIME 자체가 서버 요청의 성공 여부를 결정하지는 않는다.
MIME 타입 등록과 명명에는 IANA의 미디어 타입 등록 체계가 사용된다. 새로운 타입을 사용할 때는 기존 타입과의 호환성과 보안 처리, 문자 인코딩 요구를 고려해야 한다. 웹 서버와 응용 프로그램은 의도한 콘텐츠에 정확한 타입을 지정하여 브라우저의 오해석과 콘텐츠 기반 공격의 가능성을 줄인다.[1]