Logo archivu

Softwarové noviny
č. 10/97

zpet na domovskou stranku
titulni strana
obsah
predchozi cast
nasledujici cast
Co muze Internet nabidnout?
MIME typ
titulni strana obsah
predchozi dil nasledujici dil

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ů.


Tento článek může být volně šířen, pokud se tak děje pro studijní účely, na nevýdělečném základě a se zachováním tohoto dovětku. Podrobnosti hledejte zde, resp. na adrese http://archiv.czech.net/copyleft.htm