Zp∙soby k≤dovßnφ, kterΘ standard MIME zavßdφ, umo₧≥ujφ "protlaΦit" skrz p°enosov² mechanismus v podstat∞ libovolnß data, kterß majφ b²t p°enesena. S vlastnφmi daty vÜak musφ b²t v₧dy p°enesena i informace o tom, co jsou tato data zaΦ - zda nap°φklad jde o obrßzek ve formßtu GIF, dokument ve formßtu MS Word, text ve formßtu jazyka HTML apod. Prßv∞ podle tΘto informace se toti₧ p°φjemce bude rozhodovat, co s p°φsluÜn²m datov²m objektem uΦinφ (nap°φklad tehdy, kdy₧ mu u₧ivatel dß kliknutφm najevo, ₧e si jej p°eje zobrazit). Je dobrΘ si uv∞domit, ₧e tato informace o typu dat je nezßvislß na zp∙sobu jejich k≤dovßnφ - fakt, ₧e urΦitß data jsou pro pot°eby p°enosu zak≤dovßna nap°. pomocφ k≤dovßnφ Base64, jeÜt∞ ne°φkß nic o tom, co jsou tato data zaΦ a jak mß b²t s nimi dßle nalo₧eno.
Pro pot°eby identifikace datovΘho obsahu pou₧φvß standard MIME dvou·rov≥ovou "klasifikaci", obecn∞ zapisovanou jako dvojice "typ/podtyp" (anglicky: type/subtype). Na vyÜÜφ ·rovni se rozeznßvß celkem sedm mo₧n²ch hlavnφch typ∙ (kterΘ jsou dßle up°es≥ovßny konkrΘtnφmi podtypy):
- typ "text": podle definice jak²koli text, kter² je apriorn∞ srozumiteln² a nevy₧aduje pou₧itφ specifick²ch program∙, kterΘ by teprve dokßzaly "porozum∞t" jeho obsahu. V praxi se sem °adφ nap°φklad:
- "Φist² ASCII text", bez jakΘhokoli formßtovßnφ. Pro n∞j se pou₧φvß podtyp "plain" (tj. cel² tzv. MIME typ je zde "text/plain").
- text v jazyku HTML (MIME typ "text/html").
- text ve formßtu "richtext" Φi "enriched", kter² je definovßn v dokumentech RFC 1341, resp. 1896.
Mezi "textovΘ" typy (tj. pod hlavnφ typ "text") se naopak neza°azujφ takovΘ texty, kterΘ obsahujφ n∞jakΘ binßrnφ formßtovacφ informace - co₧ jsou nap°φklad nativnφ formßty textov²ch editor∙ typu Word, AmiPro apod.
- typ "image": pro obrßzky, p°φklady konkrΘtnφch dvojic typ/podtyp jsou nap°. image/gif, image/jpeg apod.
- typ "audio", pro zvukovß data
- typ "video", pro obrazovß data, nap°φklad video/mpeg
- typ "application": obecn∞ pro vÜechny ostatnφ druhy dat, kterΘ musφ b²t pro pot°eby zpracovßnφ "p°edhozeny" n∞jakΘmu konkrΘtnφmu programu (aplikaci, odsud oznaΦenφ hlavnφho typu), nebo majφ samy "spustiteln²" charakter, jako nap°φklad skripty v jazyky JavaScript. P°φkladem mohou b²t MIME typy "application/msword", "application/pdf" apod.
- typ "multipart": tento typ vychßzφ vst°φc pot°eb∞ p°ipojovat ke zprßvßm vφce p°φloh, resp. vytvß°et takovΘ zprßvy, jejich₧ obsah (t∞lo) bude rozd∞len na n∞kolik Φßstφ, kterΘ mohou mφt zcela samostatn² obsah - se samostatn²m zp∙sobem k≤dovßnφ i samostatn²m datov²m typem. P°φkladem m∙₧e b²t univerzßlnφ typ "multipart/mixed", umo₧≥ujφcφ tΘm∞° libovolnou kombinaci Φßstφ zprßvy.
- typ "message": pou₧φvß se v p°φpad∞, kdy obsahem jednΘ zprßvy je jinß zprßva. P°φkladem celΘho MIME typu je "message/RFC822", kdy jedna zprßva obsahuje dalÜφ zprßvu, formßtovanou dle standardu RFC822.
Na celΘm konceptu tzv. MIME typ∙ je zajφmav² jeÜt∞ jeden fakt - jde o °eÜenφ, kterΘ se prosadilo i jinde, mimo rßmec elektronickΘ poÜty, v situaci kdy takΘ bylo t°eba p°esn∞ vyspecifikovat, co jsou urΦitß data zaΦ. KonkrΘtn∞ se jednß v komunikaci mezi WWW serverem a jeho klientem, uskuteΦ≥ovanou prost°ednictvφm protokolu HTTP (HyperText Transfer Protocol). TakΘ zde je toti₧ nutnΘ, aby server klientovi explicitn∞ °ekl, jak² je typ dat, kterß mu prßv∞ posφlß. No a k tomu se vyu₧φvß ji₧ jednou zavedenß dvou·rov≥ovß hierarchie MIME typ∙.
|