MIME íì (IANA 미ëì´ íì )
미ëì´ íì (Multipurpose Internet Mail Extensions ëë MIME typeë¡ë ìë ¤ì ¸ ìì)ì´ë 문ì, íì¼ ëë ë°ì´í¸ ì§í©ì ì±ê²©ê³¼ íìì ëíë ëë¤. MIME íì ì IETFì RFC 6838ì ì ì ë° íì¤íëì´ ììµëë¤.
ì¸í°ë· í ë¹ ë²í¸ ê´ë¦¬ 기ê´(IANA)ì 모ë ê³µì MIME íì ì ë´ë¹íë©° 미ëì´ íì ìì ê°ì¥ ìµì ì ì ì²´ 목ë¡ì ì°¾ì ì ììµëë¤.
ê²½ê³ :
ë¸ë¼ì°ì ë 'íì¼ íì¥ìê° ìë' MIME íì
ì ì¬ì©íì¬ URL ì²ë¦¬ ë°©ë²ì ê²°ì í©ëë¤.
ë°ë¼ì, ì¹ ìë²ê° ìëµì Content-Type í¤ëì ì¬ë°ë¥¸ MIME íì
ì ë³´ë´ë ê²ì´ ì¤ìí©ëë¤.
ì¬ë°ë¥´ê² 구ì±íì§ ìì¼ë©´, ë¸ë¼ì°ì ê° íì¼ ë´ì©ì ì못 í´ìí ê°ë¥ì±ì´ ëê³ , ì¬ì´í¸ê° ì ëë¡ ìëíì§ ìê³ ë¤ì´ë¡ëí íì¼ì´ ì못 ì²ë¦¬ë ì ììµëë¤.
MIME íì ì 구조
MIME íì
ì ê°ì¥ ì¼ë°ì ì¼ë¡ ì¬ëì(/)ë¡ êµ¬ë¶ë 'type'ê³¼ 'subtype'ì ë ë¶ë¶ì¼ë¡ 구ì±ë©ëë¤. ëí ì´ ì¬ì´ìë ê³µë°±ì´ ììµëë¤.
type/subtype
type ì video ëë textì ê°ì´ ë°ì´í° íì
ì´ ìíë ì¼ë° ì¹´í
ê³ ë¦¬ë¥¼ ëíë
ëë¤.
subtype ì MIME íì
ì´ ëíë´ë ì§ì ë íì
ì ì íí ë°ì´í° ì¢
ë¥ë¥¼ ìë³í©ëë¤.
ì를 ë¤ì´, MIME íì
textì ê²½ì° íì íì
ì plain (í문 í
ì¤í¸), html (HTML ìì¤ ì½ë) ëë calendar (iCalendar/.ics ì©)ì
ëë¤.
ê° íì ìë ê³ ì í íì íì ì´ ììµëë¤. MIME íì ì íì íì ê³¼ íì íì 모ë ê°ì§ë©°, ë ì¤ íëë§ ê°ì§ì§ë ììµëë¤.
ì¶ê°ì ì¸ ì¸ë¶ì 보를 ì ê³µí기 ìí´ ì íì 매ê°ë³ì를 ì¶ê°í ì ììµëë¤.
type/subtype;parameter=value
ì를 ë¤ì´, 기본 íì
ì´ textì¸ MIME íì
ì ê²½ì° ì íì charset 매ê°ë³ì를 ì¶ê°íì¬ ë°ì´í°ì 문ìì ì¬ì©ëë 문ì ì¸í¸ë¥¼ ì§ì í ì ììµëë¤.
문ì ì§í©ì´ ì§ì ëì§ ìì ê²½ì°, ì¬ì©ì ìì´ì í¸ ì¤ì ì¼ë¡ ì¬ì ìëì§ ìë í 기본 ê°ì ASCII (US-ASCII)ì
ëë¤.
UTF-8 í
ì¤í¸ íì¼ì ì§ì íë ¤ë©´, MIME íì
text/plain;charset=UTF-8ì´ ì¬ì©ë©ëë¤.
MIME íì ì ëì문ì를 구ë¶íì§ë ìì§ë§ ì íµì ì¼ë¡ ì문ìë¡ ì°ì¬ì§ëë¤. 매ê°ë³ì ê°ì ëì문ì를 구ë¶í ì ììµëë¤.
íì
íì ìë discrete ë° multipartë¼ë ë ê°ì§ í´ëì¤ê° ììµëë¤. ê°ë³ íì ì ë¨ì¼ í ì¤í¸ë ìì íì¼, ë¨ì¼ ë¹ëì¤ ë± ë¨ì¼ íì¼ì´ë 매체를 ëíë´ë íì ì ëë¤. multipart íì ì ì¬ë¬ ì»´í¬ëí¸ ì¡°ê°ì¼ë¡ 구ì±ë 문ì를 ëíë´ë©°, ê° ë¶ë¶ì ê³ ì í ê°ë³ MIME íì ì ê°ì§ ì ìê³ , multipart íì ì íëì í¸ëìì ì¼ë¡ í¨ê» ì ì¡ëë ì¬ë¬ íì¼ì 캡ìíí ì ììµëë¤. ì를 ë¤ì´, ì´ë©ì¼ì ì¬ë¬ íì¼ì 첨ë¶í ë multipart MIME íì ì´ ì¬ì©ë©ëë¤.
ê°ë³ íì
íì¬ IANAì ë±ë¡ë ê°ë³ íì ì ë¤ìê³¼ ê°ìµëë¤.
application-
ë¤ë¥¸ íì ì¤ íëì ëª ìì ì¼ë¡ ìíì§ ìë, 모ë ì¢ ë¥ì ì´ì§ ë°ì´í°ì ëë¤. ì´ë¤ ë°©ìì¼ë¡ë ì¤íëê±°ë í´ìë ë°ì´í° ëë í¹ì ì´í리ì¼ì´ì ì´ë ì´í리ì¼ì´ì ë²ì를 ì¬ì©í´ì¼ íë ì´ì§ ë°ì´í° ì ëë¤. ì¼ë° ì´ì§ ë°ì´í°(ëë ì¤ì íì ì ì ì ìë ì´ì§ ë°ì´í°)ë
application/octet-streamì ëë¤. ë¤ë¥¸ ì¼ë°ì ì¸ ìë¡ëapplication/pdf,application/pkcs8ë°application/zipì ë¤ ì ììµëë¤. (IANAìì ì í리ì¼ì´ì íì ë ì§ì¤í¸ë¦¬ë¥¼ íì¸íì¸ì) audio-
ì¤ëì¤ ëë ìì ë°ì´í°ì ëë¤. ìë¡ë
audio/mpeg,audio/vorbis를 ë¤ ì ììµëë¤. (IANAìì ì¤ëì¤ íì ë ì§ì¤í¸ë¦¬ë¥¼ íì¸íì¸ì) example-
MIME íì ì ì¬ì©íë ë°©ë²ì ë³´ì¬ì£¼ë ìì ìì, ì리 íììë¡ ì¬ì©íëë¡ ìì½ëì´ ììµëë¤. ì´ íì ì ìí ì½ë ëª©ë¡ ë° ë¬¸ì ì¸ë¶ìì ì¬ì©ëì´ì ì ë©ëë¤.
exampleì íì íì ì¼ë¡ë ì¬ì©ë ì ììµëë¤. ì를 ë¤ì´, ì¹ìì ì¤ëì¤ ìì ê³¼ ê´ë ¨ë ê²½ì°, MIME íìaudio/exampleì í´ë¹ íì ì´ ì리 íìììì ëíë´ê¸° ìí´ ì¬ì©ë ì ìê³ , ì¤ì ì½ë를 ì¬ì©í ë ì ì í íì ì¼ë¡ ëì²´ëì´ì¼ í©ëë¤. font-
ê¸ê¼´/ìì²´ ë°ì´í°ì ëë¤. ì¼ë°ì ì¸ ìë¡
font/woff,font/ttfë°font/otf를 ë¤ ì ììµëë¤. (IANAìì ê¸ê¼´ íì ë ì§ì¤í¸ë¦¬ë¥¼ íì¸íì¸ì) image-
ë¹í¸ë§µê³¼ ë²¡í° ì ì§ ì´ë¯¸ì§ë¥¼ 모ë í¬í¨íë ì´ë¯¸ì§ ëë ê·¸ëí½ ë°ì´í° ì ëë©ì´ì GIF ëë APNGì ê°ì ì ì§ ì´ë¯¸ì§ íìì ì ëë©ì´ì ë²ì ì ëë¤. ì¼ë°ì ì¸ ìë¡
image/jpeg,image/pngë°image/svg+xml를 ë¤ ì ììµëë¤. (IANAìì ì´ë¯¸ì§ íì ë ì§ì¤í¸ë¦¬ë¥¼ íì¸íì¸ì) model-
3D ê°ì²´ ëë íë©´ì ëí ëª¨ë¸ ë°ì´í°ì ëë¤. ì¼ë°ì ì¸ ìë¡
model/3mfë°model/vrml를 ë¤ ì ììµëë¤.. (IANAìì ëª¨ë¸ íì ë ì§ì¤í¸ë¦¬ë¥¼ íì¸íì¸ì) text-
ì¬ëì´ ì½ì ì ìë ì½í ì¸ , ìì¤ ì½ë ëë ì¼íë¡ êµ¬ë¶ë ê° (CSV) íí ë°ì´í°ì ê°ì, í ì¤í¸ íìì ë°ì´í°ë¥¼ ê°ì§ë í ì¤í¸ ì ì© ë°ì´í°ì ëë¤. ìë¡ë
text/plain,text/csvë°text/htmlì´ ììµëë¤. (IANAìì í ì¤í¸ íì ë ì§ì¤í¸ë¦¬ë¥¼ íì¸íì¸ì) video-
MP4 ìí(
video/mp4)ì ê°ì ë¹ëì¤ ë°ì´í° ëë íì¼ì ëë¤. (IANAìì ë¹ëì¤ íì ë ì§ì¤í¸ë¦¬ë¥¼ íì¸íì¸ì)
í¹ì íì íì
ì´ ìë í
ì¤í¸ 문ìì ê²½ì°, text/plainì ì¬ì©í´ì¼ í©ëë¤.
ë§ì°¬ê°ì§ë¡, í¹ì íì íì
ì´ë ìë ¤ì§ íì íì
ì´ ìë ì´ì§ ë°ì´í°ë¡ ì´ë£¨ì´ì§ 문ìì ê²½ì°, application/octet-streamì ì¬ì©í´ì¼ í©ëë¤.
Multipart íì
Multipart íì ì ì¼ë°ì ì¼ë¡ ë¤ë¥¸ MIME íì ë¤ì ì§ë ê°ë³ì ì¸ íí¸ë¤ë¡ ëëì´ì§ë 문ìì 그룹ì ëíë ëë¤. ì¢ ì¢ MIME íì ì´ ë¤ë¥¸ ë¶ë¶ì í¹í ì´ë©ì¼ ìë리ì¤(모ë ëì¼í íì¼ì ì¼ë¶ì´ë©° ì¬ë¬ ê°ì ê°ê°ì íì¼ì ëíë(ë³µí© ë¬¸ì를 ì미))ììë ì¬ì©í ì ììµëë¤.
HTML Forms ì POST ë©ìëìì ì¬ì©ëë multipart/form-dataì 문ì ì¼ë¶ë¶ì ë³´ë´ê¸° ìí´ 206 Partial Content를 ì¬ì©íë multipart/byteranges를 ì ì¸íë©´, HTTPë ë¤ì¤ë¶ë¶ 문ì를 í¹ë³í ë°©ìì¼ë¡ ì²ë¦¬íì§ ììµëë¤. ë©ìì§ê° ë¸ë¼ì°ì ë¡ ì ì¡ë©ëë¤(ìë§ë 문ì를 íìíë ë°©ë²ì 모르ë ê²½ì° 'ë¤ë¥¸ ì´ë¦ì¼ë¡ ì ì¥'ì°½ì íìí¨).
2ê°ì ë¤ì¤ë¶ë¶ íì ì´ ììµëë¤.
message-
ë¤ë¥¸ ë©ìì§ë¥¼ 캡ìííë ë©ìì§ì ëë¤. ì를 ë¤ì´, ë°ì´í°ì ì¼ë¶ë¡ ì ë¬ë ë©ìì§ê° í¬í¨ëì´ ìë ì´ë©ì¼ì ëíë´ë ë° ì¬ì©í ì ìê±°ë ëë ë§ì¹ ì¬ë¬ ë©ìì§ì¸ ê²ë¼ ë§¤ì° í° ë©ìì§ë¥¼ ì²í¬ë¡ ëëì´ ë³´ë¼ ì ììµëë¤. ì를 ë¤ì´, ë°ì´í°ì ì¼ë¶ë¡ ì ë¬ë ë©ìì§ê° í¬í¨ë ì´ë©ì¼ì ëíë´ë ë° ì¬ì©í ì ììµëë¤. ëë ë§ì¹ ì¬ë¬ ë©ìì§ì¸ ê²ì²ë¼ ë§¤ì° í° ë©ìì§ë¥¼ ì²í¬ë¡ ëëì´ ë³´ë¼ ì ììµëë¤. ì를 ë¤ë©´,
message/rfc822(ì ë¬ëê±°ë íì ë ë©ìì§ ì¸ì©) ë°message/partialì í¬í¨íì¬ í° ë©ìì§ë¥¼ ìëì¼ë¡ ìì ë©ìì§ë¡ ëëì´ ìì ìê° ì¬ì¡°ë¦½í ì ìëë¡ í©ëë¤. (IANAìì ë©ìì§ íì ë ì§ì¤í¸ë¦¬ë¥¼ íì¸íì¸ì) multipart-
ê°ë³ì ì¼ë¡ ìë¡ ë¤ë¥¸ MIME íì ì ê°ì§ ì ìë ì¬ë¬ ì»´í¬ëí¸ë¡ 구ì±ë ë°ì´í°ì ëë¤. ì를 ë¤ì´
multipart/form-data(FormDataAPI를 ì¬ì©í´ ìì±ë ë°ì´í°ì ê²½ì°) ë°multipart/byteranges(defined in RFC 7233, ì¹ì 5.4.1ì ì ìëì´ ìê³ HTTPì206"Partial Content"ì í¨ê» ì¬ì©ë©ëë¤. ê°ì ¸ì¨ ë°ì´í°ëRangeí¤ë를 ì¬ì©íì¬ ì ë¬ëë ê²ê³¼ ê°ì´ ì½í ì¸ ì ì¼ë¶ì¼ ë¿ì ëë¤). (IANAìì Multipart íì ë ì§ì¤í¸ë¦¬ë¥¼ 참조íì¸ì)
ì¹ ê°ë°ìë¤ì ìí ì¤ìí MIME íì
>application/octet-stream
ì´ íì
ì ì´ì§ íì¼ì ìí 기본ê°ì
ëë¤. ì´ íì
ì ì¤ì ë¡ 'ì ìë ¤ì§ì§ ìì' ì´ì§ íì¼ì ì미íë¯ë¡, ë¸ë¼ì°ì ë ë³´íµ ìëì¼ë¡ ì¤ííì§ ìê±°ë ì¤íí´ì¼ í ì§ ë¬»ê¸°ë í©ëë¤. Content-Disposition í¤ëê° ê° attachment ì í¨ê² ì¤ì ëìê³ 'Save As' íì¼ì ì ìíëì§ ì¬ë¶ì ë°ë¼ ë¸ë¼ì°ì ê° ê·¸ê²ì ë¤ë£¨ê² ë©ëë¤.
text/plain
ì´ê²ì í ì¤í¸ íì¼ì ëí 기본ê°ì ëë¤. ì¤ì ë¡ 'ìë ¤ì§ì§ ìì í ì¤í¸' íì¼ì¼ì§ë¼ë ë¸ë¼ì°ì ë¤ì ê·¸ê²ì ë³´ì¬ì¤ ì ìë¤ê³ ê°ì í©ëë¤.
ì°¸ê³ :
text/plainì´ '모ë ì¢
ë¥ì í
ì¤í¸ ë°ì´í°'를 ì미íì§ë ììµëë¤.
ë§ì½ ë¸ë¼ì°ì ê° í¹ì ì¢
ë¥ì í
ì¤í¸ ë°ì´í°ë¥¼ ììí ê²½ì°, ë°ëì ì¼ì¹íë¤ê³ ê°ì£¼íì§ ìì ê²ëë¤.
í¹í, CSS íì¼ì ì ì¸í <link> ììë¡ë¶í° text/plain íì¼ì ë¤ì´ë¡ëí ê²½ì°, text/plainì¼ë¡ ííëë¤ë©´ ë¸ë¼ì°ì ë ê·¸ê²ì ì í¨í CSS íì¼ë¡ ê°ì§íì§ ìì ê²ëë¤.
CSSì MIME íì
ì¸ text/cssì´ ì¬ì©ëì´ì¼ë§ í©ëë¤.
text/css
ì¹ íì´ì§ë¥¼ 그리ë CSS íì¼ë¤ì text/css íì¼ì´ ëì´ì¼ë§ í©ëë¤.
ìë²ê° .css ì 미ì¬ë¥¼ ê°ì§ íì¼ë¤ì CSS íì¼ì´ë¼ê³ ì¸ìíì§ ëª»íë©´, text/plain ëë application/octet-stream MIME íì
ì¼ë¡ ì ì¡í ì§ë 모ë¦
ëë¤.
ì´ë° ê²½ì° ëë¶ë¶ì ë¸ë¼ì°ì ë¤ì´ CSS íì¼ì´ë¼ê³ ì¸ìíì§ ëª»íë©° ì¡°ì©í 무ìë ê²ëë¤.
text/html
모ë HTML 컨í
ì¸ ë ì´ íì
ê³¼ í¨ê» ì ê³µëì´ì¼ í©ëë¤. application/xml+htmlì ê°ì XHTMLì ìí ëì²´ MIME íì
ë¤ì íì¬ìë ëë¶ë¶ ì¬ì©ëì§ ììµëë¤.
text/javascript
IANA 미ëì´ íì
ë§ë¤, RFC 9239 ë° HTML ëª
ì¸, JavaScript 컨í
ì¸ ë MIME íì
text/javascript ì¬ì©í´ì ì ê³µëì´ì¼ í©ëë¤.
ë¤ë¥¸ MIME íì
ì JavaScriptì ì í¨í ê²ì¼ë¡ ê°ì£¼ëì§ ìì¼ë©°, text/javascript ì´ì¸ì MIME íì
ì ì¬ì©íë©´ ì¤í¬ë¦½í¸ê° ë¡ëëê±°ë ì¤íëì§ ìì ì ììµëë¤.
ì¼ë¶ JavaScript ì½í
ì¸ ë ì¤í¬ë¦½í¸ ì½í
ì¸ ì ëí 문ì ì§í©ì ì§ì íë ¤ë ìëë¡, MIME íì
ì ì¼ë¶ë¡ charset 매ê°ë³ìì í¨ê» ì못 ì ê³µëë ê²ì ë°ê²¬í ì ììµëë¤.
í´ë¹ charset 매ê°ë³ìë JavaScript ì½í
ì¸ ì ì í¨íì§ ìì¼ë©°, ëë¶ë¶ì ê²½ì° ì¤í¬ë¦½í¸ ë¡ëì ì¤í¨íê² ë©ëë¤.
ë ê±°ì JavaScript MIME íì
ìì¬ì ì´ì ë¡ text/javascript MIME íì
ì¸ìë MIME ì¤ëí íì¤ (ë¸ë¼ì°ì ê° MIME íì
ì í´ìíê³ ì í¨í íì
ì´ ìë ì½í
ì¸ ë¡ ë¬´ìì í´ì¼ íëì§ íì
íë ë°©ë²ì ëí ì ì)ì ì¬ì©íë©´ ë¤ì ë ê±°ì JavaScript MIME íì
ì ì¬ì©íì¬ JavaScript를 ì ê³µí ìë ììµëë¤.
application/javascriptapplication/ecmascriptapplication/x-ecmascriptapplication/x-javascripttext/ecmascripttext/javascript1.0text/javascript1.1text/javascript1.2text/javascript1.3text/javascript1.4text/javascript1.5text/jscripttext/livescripttext/x-ecmascripttext/x-javascript
ì°¸ê³ :
주ì´ì§ ì¬ì©ì ìì´ì í¸ê° ì´ë¤ ì¤ ì¼ë¶ ëë ì ë¶ë¥¼ ì§ìí ì ìëë¼ë text/javascriptë§ ì¬ì©í´ì¼ í©ëë¤.
íì¬ë ë¬¼ë¡ ìì¼ë¡ë ìëì´ ë³´ì¥ëë ì ì¼í MIME íì
ì
ëë¤.
ì´ë¯¸ì§ íì
MIME íì
ì´ imageì¸ íì¼ìë ì´ë¯¸ì§ ë°ì´í°ê° í¬í¨ëì´ ììµëë¤. íì íì
ì ë°ì´í°ê° ëíë´ë í¹ì ì´ë¯¸ì§ íì¼ íìì ì§ì í©ëë¤.
ë¤ì ì´ë¯¸ì§ íì ì ì¹íì´ì§ìì ì¬ì©í기ì 'ìì í' ê²ì¼ë¡ ê°ì£¼ë ë§í¼ ì¼ë°ì ì¼ë¡ ì¬ì©ë©ëë¤.
image/apng: Animated Portable Network Graphics (APNG)image/avif: AV1 ì´ë¯¸ì§ íì¼ í¬ë§· (AVIF)image/gif: Graphics Interchange í¬ë§· (GIF)image/jpeg: Joint Photographic Expert Group ì´ë¯¸ì§ (JPEG)image/png: Portable Network Graphics (PNG)image/svg+xml: Scalable Vector Graphics (SVG)image/webp: Web Picture í¬ë§· (WEBP)
ì´ë¯¸ì§ íì¼ íì ë° í¬ë§· ê°ì´ëììë ë¤ìí ì´ë¯¸ì§ í¬ë§·ì ì¬ì©í´ì¼ íë ê²½ì°ì ëí ì ë³´ì ê¶ì¥ì¬íì ì ê³µí©ëë¤.
ì¤ëì¤ì ë¹ëì¤ íì
ì´ë¯¸ì§ ê²½ì°ì²ë¼, HTMLì <audio>ê³¼ <video> ììì ì¬ì©í기 ìí í¹ì íì¼ ë° ì½ë± íì
ì ì§ìíëë¡ ì구íì§ ìì¼ë¯ë¡ ì¤ìí©ëë¤. 미ëì´ì ì¬ì©í íì¼ íìê³¼ ì½ë±ì ì íí ë ëì ê³ ê°ê³¼ ì¬ì©í ì ìë ë¸ë¼ì°ì ë²ì(ë° í´ë¹ ë¸ë¼ì°ì ì ë²ì )를 ê³ ë ¤íì¸ì.
미ëì´ ì»¨í ì´ë íì ê°ì´ëë ì¹ ë¸ë¼ì°ì ìì ì¼ë°ì ì¼ë¡ ì§ìëë íì¼ íì 목ë¡ì ì ê³µí©ëë¤. í¹ë³í ì¬ì© ì¬ë¡ì ëí ì ë³´, ë¨ì , í¸íì± ì ë³´ ë° ê¸°í ì¸ë¶ ì ë³´ê° í¬í¨ëì´ ììµëë¤.
ì¤ëì¤ ì½ë± ë° ë¹ëì¤ ì½ë± ê°ì´ëìë ì¹ ë¸ë¼ì°ì ê° ì§ìíë ë¤ìí ì½ë±ì´ ëì´ëì´ ììµëë¤. ì§ìíë ì¤ëì¤ ì±ë ì, ì¬ì©ëë ìì¶ì ì¢ ë¥, ì ì©í ë¹í¸ ì ì¡ë¥ ë±ê³¼ ê°ì 기ì ì ë³´ì í¨ê» í¸íì± ì¸ë¶ ì 보를 ì ê³µíë ê²½ì°ê° ë§ìµëë¤.
WebRTCìì ì¬ì©íë ì½ë± ìë´ìë 주ì ì¹ ë¸ë¼ì°ì ìì ì§ìíë ì½ë±ì 구체ì ì¼ë¡ ë¤ë£¨ë©´ì, íì¥íë¯ë¡ ì§ìíë ë¸ë¼ì°ì ë²ìì ê°ì¥ ì í©í ì½ë±ì ì íí ì ììµëë¤.
ì¤ëì¤ ëë ë¹ëì¤ íì¼ì MIME íì ì ì¼ë°ì ì¼ë¡ 컨í ì´ë íì(íì¼ íì )ì ì§ì í©ëë¤. ì íì ì½ë± 매ê°ë³ì를 MIME íì ì ì¶ê°íì¬ ì¬ì©í ì½ë±ê³¼ 미ëì´ ì¸ì½ë©ì ì¬ì©ë© ìµì (ì, ì½ë± íë¡í, ë 벨, 기í ì ë³´)ì ì¶ê°ë¡ ì§ì í ì ììµëë¤.
ì¹ ì½í ì¸ ì ì¬ì©ëë ê°ì¥ ì¼ë°ì ì¸ MIME ì íì ë¤ìê³¼ ê°ì§ë§, ì¬ì© ê°ë¥í 모ë ì íì ì ì²´ 목ë¡ì ìëëë¤. ìì¸í ë´ì©ì 미ëì´ ì»¨í ì´ë íì ê°ì´ë를 참조íì¸ì.
| MIME íì | ì¤ëì¤ ë° ë¹ëì¤ íì |
|---|---|
audio/wave, audio/wav, audio/x-wav, audio/x-pn-wav |
WAVE 컨í ì´ë íìì ì¤ëì¤ íì¼ì ëë¤. PCM ì¤ëì¤ ì½ë± (WAVE ì½ë± "1")ì ì¢ ì¢ ì§ìëì§ë§, ë¤ë¥¸ ì½ë±ì ì§ìì´ ì íë©ëë¤. |
audio/webm |
WebM 컨í ì´ë íìì ì¤ëì¤ íì¼ì ëë¤. Vorbis ë° Opusë WebM ëª ì¸ìì ê³µìì ì¼ë¡ ì§ìíë ì½ë±ì ëë¤. |
video/webm |
WebM 컨í ì´ë íìì ë¹ëì¤ íì¼(ì¤ëì¤ í¬í¨ ê°ë¥) VP8 ë° VP9ë ê°ì¥ ì¼ë°ì ì¸ ë¹ëì¤ ì½ë±ì ëë¤. Vorbis ë° Opusë ê°ì¥ ì¼ë°ì ì¸ ì¤ëì¤ ì½ë±ì ëë¤. |
audio/ogg |
Ogg 컨í ì´ë íìì ì¤ëì¤ íì¼ì ëë¤. Vorbisë ì´ë¬í 컨í ì´ëì ì¬ì©ëë ê°ì¥ ì¼ë°ì ì¸ ì½ë±ì´ì§ë§, Opusë ì´ì Oggììë ì§ìë©ëë¤. |
video/ogg |
Ogg 컨í ì´ë íìì ë¹ëì¤ íì¼(ì¤ëì¤ í¬í¨ ê°ë¥) Theoraë ê·¸ ììì ì¬ì©ëë ì¼ë°ì ì¸ ë¹ëì¤ ì½ë±ì ëë¤. Vorbisê° ì¼ë°ì ì¼ë¡ ì¤ëì¤ ì½ë±ì´ì§ë§, Opusê° ì ì ë ë³´í¸íëê³ ììµëë¤. |
application/ogg |
Ogg 컨í ì´ë íìì ì¬ì©íë ì¤ëì¤ ëë ë¹ëì¤ íì¼ì ëë¤. Theoraë ê·¸ ììì ì¬ì©ëë ì¼ë°ì ì¸ ë¹ëì¤ ì½ë±ì ëë¤. Vorb isë ì¼ë°ì ì¸ ì¤ëì¤ ì½ë±ì ëë¤. |
multipart/form-data
multipart/form-dataì ë¸ë¼ì°ì ìì ìë²ë¡ ìì±ë HTML Formì ë´ì©ì ì ì¡ ì ì¬ì©í ì ììµëë¤.
ë¤ì¤ë¶ë¶ 문ì íìì¼ë¡ì¨, ê²½ê³(ì´ì¤ ëì '--' ë¡ ììëë 문ìì´)ë¡ êµ¬ë¶ëì´ì§ë ë¤ë¥¸ íí¸ë¤ë¡ 구ì±ë©ëë¤. ê° íí¸ë ê·¸ ìì²´ë¡ ê°ì²´ì´ë©° ìì ë§ì HTTP í¤ë를 ê°ì§ëë°, íì¼ ì
ë¡ë íë를 ìí í¤ëë¡ë Content-Disposition, Content-Typeì´ ììµëë¤.
Content-Type: multipart/form-data; boundary=aBoundaryString
(other headers associated with the multipart document as a whole)
--aBoundaryString
Content-Disposition: form-data; name="myFile"; filename="img.jpg"
Content-Type: image/jpeg
(data)
--aBoundaryString
Content-Disposition: form-data; name="myField"
(data)
--aBoundaryString
(more subparts)
--aBoundaryString--
ë¤ìì HTML <form>ì
ëë¤:
<form
action="http://localhost:8000/"
method="post"
enctype="multipart/form-data">
<label>Name: <input name="myTextField" value="Test" /></label>
<label><input type="checkbox" name="myCheckBox" /> Check</label>
<label>
Upload file: <input type="file" name="myFile" value="test.txt" />
</label>
<button>Send the file</button>
</form>
<form>ì ë¤ì ë©ìì§ë¥¼ ì ì¡íê² ë©ëë¤:
POST / HTTP/1.1
Host: localhost:8000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:50.0) Gecko/20100101 Firefox/50.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Content-Type: multipart/form-data; boundary=---------------------------8721656041911415653955004498
Content-Length: 465
-----------------------------8721656041911415653955004498
Content-Disposition: form-data; name="myTextField"
Test
-----------------------------8721656041911415653955004498
Content-Disposition: form-data; name="myCheckBox"
on
-----------------------------8721656041911415653955004498
Content-Disposition: form-data; name="myFile"; filename="test.txt"
Content-Type: text/plain
Simple file.
-----------------------------8721656041911415653955004498--
multipart/byteranges
multipart/byteranges MIME íì
ì ë¸ë¼ì°ì ì ë¶ë¶ì ìëµì ë³´ë´ë ë° ì¬ì©ë©ëë¤.
206 Partial Content ìí ì½ëê° ì ì¡ë ê²½ì°, MIME íì
ì 문ìê° ê°ê°ì ìì²ë ë²ìë¤ ì¤ íëì¸ ëª ê°ì§ íí¸ë¤ë¡ 구ì±ëì´ ììì ìë ¤ì£¼ê¸° ìí´ ì¬ì©ë©ëë¤. ë¤ë¥¸ ë¤ì¤ë¶ë¶ íì
ì²ë¼, Content-Typeì ì´ ì¡°ê°ë¤ì ë¶ë¦¬í기 ìí´ boundary ëë í°ë¸ë¥¼ ì¬ì©í©ëë¤. ê°ê°ì ë¤ë¥¸ íí¸ë¤ì 문ìì ì¤ì íì
ì ê°ì§ Content-Type í¤ëì ê·¸ë¤ì´ ëíë´ë ë²ì를 ê°ì§ Content-Range를 ì§ëê³ ììµëë¤.
HTTP/1.1 206 Partial Content
Accept-Ranges: bytes
Content-Type: multipart/byteranges; boundary=3d6b6a416f9b5
Content-Length: 385
--3d6b6a416f9b5
Content-Type: text/html
Content-Range: bytes 100-200/1270
eta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta name="viewport" content
--3d6b6a416f9b5
Content-Type: text/html
Content-Range: bytes 300-400/1270
-color: #f0f0f2;
margin: 0;
padding: 0;
font-family: "Open Sans", "Helvetica
--3d6b6a416f9b5--
ì íí MIME íì ì¤ì ì ì¤ìì±
ëë¶ë¶ì ì¹ ìë²ë¤ì 기본 íì
ì¤ íëì¸ application/octet-stream MIME íì
ì ì¬ì©í´ ìë ¤ì§ì§ ìì íì
ì 리ìì¤ë¥¼ ì ì¡í©ëë¤. ë³´ììì ì´ì ë¡, ëë¶ë¶ì ë¸ë¼ì°ì ë¤ì ê·¸ë° ë¦¬ìì¤ì ëí ì¬ì©ì ì ìë 기본 ëì ì¤ì ì íì©íì§ ìì¼ë©°, ê·¸ê²ì ì¬ì©íë ¤ë©´ ëì¤í¬ì ì ì¥í´ì¼ í©ëë¤.
ì주 ë°ìíë ì못ë ìë² êµ¬ì±ì ëë¤.
- RARë¡ ì¸ì½ë©ë íì¼.
ì´ ê²½ì°ì, ì´ìì ì¸ ë¶ë¶ì ì본 íì¼ì ì¤ì íì
ì
ëë¤. .RAR íì¼ì ë¤ìí íì
ì ì¬ë¬ 리ìì¤ë¥¼ ë³´ì í ì ìì¼ë¯ë¡ ì´ë ì¢
ì¢
ë¶ê°ë¥í©ëë¤.
ì´ ê²½ì°ë,
application/x-rar-compressed를 ì ì¡íëë¡ ìë²ë¥¼ 구ì±íì¸ì. - ì¤ëì¤ ë° ë¹ëì¤.
ì¬ë°ë¥¸ MIME íì
ì ê°ì§ 리ìì¤ë§
<video>ëë<audio>ìììì ì¬ìë©ëë¤. ì¤ëì¤ ë° ë¹ëì¤ ë¯¸ëì´ íì ì ë°ëì ì ííê² ì§ì íì¸ì. - ë
ì íì¼ íì.
ëë¶ë¶ì ë¸ë¼ì°ì ë ì´ ì¼ë° MIME íì
ì ëí 기본 ëì(ì, "Wordìì ì´ê¸°") ì ì를 íì©íì§ ìì¼ë¯ë¡
application/octet-streamì ì¬ì©íì§ ë§ì¸ì.application/vnd.mspowerpointì ê°ì í¹ì íì ì ì¬ì©íë©´ ì¬ì©ìê° ì íí íë ì í ì´ì ìíí¸ì¨ì´ìì ì´ë¬í íì¼ì ìëì¼ë¡ ì´ ì ììµëë¤.
MIME ì¤ëí
MIME íì ì´ ìê±°ë ë¸ë¼ì°ì ê° MIME íì ì´ ì¬ë°ë¥´ì§ ìë¤ê³ íë¨íë ê²½ì°, ë¸ë¼ì°ì ë 리ìì¤ì ë°ì´í¸ë¥¼ ë³´ê³ ì¬ë°ë¥¸ MIME íì ì ì¶ì¸¡íë 'MIME ì¤ëí'ì ìíí ì ììµëë¤.
ê° ë¸ë¼ì°ì ë ìë¡ ë¤ë¥¸ ìí©ìì MIME ì¤ëíì ë¤ë¥´ê² ìíí©ëë¤. (ì를 ë¤ì´, Safarië ì ì¡ë MIME íì
ì´ ì í©íì§ ìì ê²½ì° URL íì¼ íì¥ì를 íì¸í©ëë¤) ì¼ë¶ MIME íì
ì ì¤í ê°ë¥í ì½í
ì¸ ë¥¼ ëíë´ë¯ë¡ ë³´ì 문ì ê° ììµëë¤. ìë²ë X-Content-Type-Options í¤ë를 ì ì¡íì¬ MIME ì¤ëíì ë°©ì§í ì ììµëë¤.
문ì íì ì ì ë¬íë ë¤ë¥¸ ë°©ë²
MIME íì ì´ ë¬¸ì íì ì 보를 ì ë¬íë ì ì¼í ë°©ë²ì ìëëë¤.
- í¹í Microsoft Windowsììë íì¼ ì´ë¦ ì 미ì¬ê° ì¬ì©ëë ê²½ì°ê° ììµëë¤. 모ë ì´ì ì²´ì ìì ì´ë¬í ì 미ì¬ë¥¼ ì미 ìë ê²ì¼ë¡ ê°ì£¼íë ê²ì ìëë©°(ì, Linux ë° macOS), ì 미ì¬ê° ì ííë¤ë ë³´ì¥ë ììµëë¤.
- ë§¤ì§ ëë². ë¤ìí íìì 구문ì ì¬ì©íë©´ ë°ì´í¸ 구조를 ë³´ê³ íì¼ íì
ì ì¶ë¡ í ì ììµëë¤.
ì를 ë¤ì´, GIF íì¼ì 16ì§ì
47 49 46 38 39(GIF89)ë¡ ììíê³ , PNG íì¼ì89 50 4E 47(.PNG)ë¡ ììí©ëë¤. 모ë íì¼ íìì ë§¤ì§ ëë²ê° ìë ê²ì ìëë¯ë¡, ì´ ìì 100% ì 뢰í ìë ììµëë¤.