본문 바로가기
자바웹프로그래밍/HTTP

MIME 타입????

by 디찌s 2020. 4. 24.
728x90
반응형

MIME 타입이란 클라이언트에게 전송된 문서의 다양성을 알려주기 위해 존재한다.

 

웹에서 파일들에 확장자는 사실 별의미가 없다.

 

그러므로, 각 문서와 함계 올바른 MIME 타입을 전송하도록, 서버를 정확히 설정하는것이 매우 중요하다!

 

각각의 브라우저들은 리소스를 내려받았을때 해야할 기본 동작이 무엇인지를 결정하기 위해 MIME 타입을 사용한다.

 

 

웹에서는 MIME 타입만이 가장 적절하므로 조심스럽게 설정되어야한다.

 

브라우저와 서버들은 일반적인 타입이 제공된 경우에만 MIME타입을 정의하고, 일치하는지 점검하거나 정확한 MIME 타입을 찾기 위해 접미사나 매직 넘버에 근거하는 휴리스틱(발전적 경험)을 사용합니다.

 


문법

 

type/subtype

 

MIME 타입의 구조는 매우 간단하다. '/'로 구분된 두 개의 문자열인 타입과 서브타입으로 구성된다.

 

단! 스페이스는 허용되지 않습니다 .

 

type은 카테고리를 나타내며 개별 혹은 멀티파트타입이 될수 있습니다. subtype은 각각의 타입에 한정됩니다.

 

mime타입은 대소문자를 구분하지는 않지만 전통적으로 소문자로 쓰여집니다.

 

개별 타입

text/plain
text/html
image/jpeg
image/png
audio/mpeg
audio/ogg
audio/*
video/mp4
application/octet-stream
…

 

개별타입은 문서의 카테고리를 가리킨다.

 

 

타입 설명 일반적인 서브타입 예시
text 텍스트를 포함하는 모든 문서를 나타내며 이론상으로는 사람이 읽을수 있어야한다. text/plain,text/html,text/css,text/javascript
image 모든 종류의 이미지를 나타냅니다. (animated gif처럼) 애니메이션되는 이미지가 이미지 타입에 포함되긴 하지만, 비디오는 포함되지 않는다. image/gif,image/png,image/jpeg,image/bmp,image/webp
audio 모든 종류의 오디오 파일들을 나타냅니다 audio/midi,audio/mpeg,audio/webm,audio/ogg,audio/wav
video 모든 종류의 비디오 파일들을 나타냅니다. video/webm,video/ogg
application 모든 종류의 이진 데이터를 나타냅니다. application/octet/stream,application/pkcs12,application/vnd.mspowerpoint

 

 


멀티파트 타입

 

multipart/form-data
multipart/byteranges

멀티파트타입은 일반적으로 다른 MIME 타입들을 지닌 개별적인 파트들로 나누어지는 문서의 카테고리를 가리킨다. 즉 이 타입은 합성된 문서를 나타내는 방법이다.

 

HTML <form> 과 post 메서드의 관계속에서 사용되는 multipart/form-data 그리고 전체 문서의 하위 집합만 전송하기 위한 206 Partial Content 상태 메시지와 함계 사용되는 multipart/byteranges를 제외하고는,HTTP가 멀티파트 문서를 다룰 수 있는 특정한 방법은 존재하지 않습니다. 

728x90
반응형

댓글