클라이언트에게 전송된 문서의 다양성을 알려주기위한 메커니즘, 브라우저들이 리소스를 내려받았을 때 해야할 기본 동작이 무엇인지를 결정하기 위해 MIME 타입을 사용
MIME 문법
1. MIME 타입의 구조 ' TYPE/SUBTYPE
'/ '로 구분된 두 개의 문자열인 타입과 서브타입으로 구성, 스페이스는 사용 불가,
TYPE 은 카테고리를 나타내며 개별 혹은 멀티파트 타입이 될 수 잇음,
SUBTYPE은 각각의 타입에 한정됨
2. 개별타입
text/plain, text/html, image/jpeg, audio/ogg. audio/*. video/mp4. application/octet-stream.
특정 서브타입이 없는 텍스트 문서들에 대해서는 text/plain이 사용되어야함, 특정 혹은 알려진 서브타입이 없는 문서는 application/octet-stream이 사용되어야함
★ x-www-form-urlencode 와 multipart/form-data은 둘다 폼형태이지만 x-www...은 대용양 바이너리 데이터를 전송하기에 비능률적이기 때문에 대부분 첨부파일은 multipart/form-data를 사용
3, 멀티파트 타입
Multipart/form-data, multipart/byteranges
멀티파트 타입은 일반적으로 다른 MIME 타입들을 지닌 개별적인 파트들로 나누어지는 문서의 카테고리를 가르킴, 이 타입은 합성된 문서를 나타내는 방법
4. 중요한 MIME 타입
1) application / octet-stream - 이타입은 이진파일을 위한 기본값
실제로 잘 알려지지 않은 이진 파일을 의미, (브라우저가 실행해야 하는지 물어보는 경우가 이에 해당하는듯)
2) text/plain - 텍스트파일에 대한 기본값
text/plain이 모든 종류의 텍스트 데이터를 의미하지는 않는다는 것을 알아두시기 바랍니다.
만약 브라우저가 특정 종류의 텍스트 데이터를 예상한 경우, 반드시 일치한다고 간주하지 않을 겁니다.
특히, CSS 파일을 선언한 <link> 엘리먼트로부터 text/plain 파일을 다운로드할 경우, text/plain으로 표현된다면
브라우저는 그것을 유효한 CSS 파일로 감지하지 않을 겁니다. CSS의 MIME 타입인 text/css이 사용되어야 합니다.
3) text/css
웹 페이지 내에서 보통 인터프리트되어야 하는 모든 CSS 파일들은 text/css 파일이 되어야 함, 보통 서버들은 .css 접미사를 가진 파일들을 CSS 파일이라고 인식하지 못해 text/plain 혹은 application/octet-stream MIME타입 으로 전송 ( 이부분은 안해봐서 궁금 나중에 되면 한번 시도 해볼 예정)
4) text/html
모든 HTML 컨텐츠는 이 타입과 함께 서브되어야 함, application/xml_html와 같은 XHTML을 위한 대체 MIME 타입들은 현재 대부분 쓸모가 없음( HTML5이 이 포맷을 흡수 (<- 이부분에 대해서는 HTML vs HTML5 비교 부분에 추가 설명 예정)
주제
MIME( Multipurpose Internet Mail Extensions )
내용
MIME 이란
MIME 문법
1. MIME 타입의 구조 '
TYPE/SUBTYPE
2. 개별타입
text/plain, text/html, image/jpeg, audio/ogg. audio/*. video/mp4. application/octet-stream.
특정 서브타입이 없는 텍스트 문서들에 대해서는 text/plain이 사용되어야함, 특정 혹은 알려진 서브타입이 없는 문서는 application/octet-stream이 사용되어야함3, 멀티파트 타입
Multipart/form-data, multipart/byteranges
멀티파트 타입은 일반적으로 다른 MIME 타입들을 지닌 개별적인 파트들로 나누어지는 문서의 카테고리를 가르킴, 이 타입은 합성된 문서를 나타내는 방법4. 중요한 MIME 타입
1) application / octet-stream - 이타입은 이진파일을 위한 기본값 실제로 잘 알려지지 않은 이진 파일을 의미, (브라우저가 실행해야 하는지 물어보는 경우가 이에 해당하는듯)
2) text/plain - 텍스트파일에 대한 기본값
3) text/css 웹 페이지 내에서 보통 인터프리트되어야 하는 모든 CSS 파일들은 text/css 파일이 되어야 함, 보통 서버들은 .css 접미사를 가진 파일들을 CSS 파일이라고 인식하지 못해 text/plain 혹은 application/octet-stream MIME타입 으로 전송 ( 이부분은 안해봐서 궁금 나중에 되면 한번 시도 해볼 예정)
4) text/html 모든 HTML 컨텐츠는 이 타입과 함께 서브되어야 함, application/xml_html와 같은 XHTML을 위한 대체 MIME 타입들은 현재 대부분 쓸모가 없음( HTML5이 이 포맷을 흡수 (<- 이부분에 대해서는 HTML vs HTML5 비교 부분에 추가 설명 예정)
MIME 타입 설정의 중요성 (읽어보면 좋을듯)
. . . . .
Refrence Sites
-MIME 타입 , 설명, https://developer.mozilla.org/ko/docs/Web/HTTP/Basics_of_HTTP/MIME_types https://server-talk.tistory.com/183
-MIME-Type,Content-Type이란? https://juyoung-1008.tistory.com/4
PS. 마크다운에서 사용하는 문법중에Zenhub에서 사용안되는 문법이 많음