Obsah
4.1. Typy zpráv MIME
4.2. Metody
kódování MIME
Časová náročnost kapitoly: 30 minut
Formát zpráv přenášených podle standardu definovaného dokumentem RFC 822 má určité nedostatky, jedním z nich je přenos dat v čistě textové ASCII podobě. Z tohoto důvodu byla dodefinovaná alternativní struktura zpráv odstraňující tyto nedostatky. Tato struktura se jmenuje MIME (Multipurpose Internet Mail Extension). Přestože už v názvu se píše, že se jedná o rozšíření Internetové pošty, není to jediný způsob použití, s tímto formátem se setkáme například i u protokolu HTTP.
MIME rozšiřuje tělo zprávy z původního
textového obsahu definovaného v RFC 822 na několik typů. Každý ze
základních typů má další podtypy. Velikost zprávy je omezena na 64kB,
pokud je zpráva delší než 64kB, musí být rozdělena na několik částí o
maximální velikosti 64kB. Standard MIME umožňuje rekurzi, takže
zpráva ve standardu MIME může ve svém těle obsahovat další zprávu,
také typu MIME.
Nyní budou osvětleny typy zpráv MIME
Typ TEXT
Typ
TEXT slouží k přenosu vlastního těla zprávy (textového sdělení).
Podtyp PLAIN (prostý text) je implicitní a odpovídá obsahu podle RFC
822. Další podtypy jsou např. RTF (Rich Text Format)
Typ
IMAGE
Typ IMAGE znamená, že jsou
přenášená obrazová data. Jako podtypy jsou definovány GIF a JPEG.
Implicitní je formát JPEG. Podtypy IMAGE jsou definovány v RFC 2048,
počítá se s jejich rozšiřováním (PNG,...).
Typ
AUDIO
Typ AUDIO znamená, že jsou
přenášená zvuková data. Implicitní je podtyp basic. Obsah typu
"audio/basic" je jednokanálové audio kódovaní pomocí 8bit
µ-law PCM na vzorkovací frekvenci 8000 Hz.
Typ
VIDEO
Typ VIDEO znamená, že jsou
přenášená video data. Implicitní je podtyp MPEG.
Typ
APPLICATION
Typ APPLICATION znamená,
že je přenášen jiný typ dat. Typicky se jedná o neinterpretovaná
binární data nebo informace ke zpracování nějakou aplikací. Podtyp
OCTET-STREAM se používá v případě neinterpretovaných binárních dat,
kdy je nejjednodušší doporučená akce uživateli uložit informace do
souboru. Podtyp POSTSCRIPT je definován pro přenos postscriptového
materiálu.
Typ STRUCTURED
Typ
STRUCTURED se také někdy nazývá vícedílný (multipart). Ve
strukturovaném typu se nepřenášejí data jako taková, ale určitá
kombinace již uvedených typů. Jsou definovány celkem čtyři podtypy.
Alternative, který znamená, že data jsou uvedena v různých
formátech(ASCII, RTF, DOC), Digest, který znamená, že obsahem je
otisk (haš) zprávy, Paralel představuje zprávu, jejíž různé části se
mají přehrávat současně, a Mixed, který označuje, že zpráva se skládá
ze směsi různých částí (Text, Audio, Video).
Typ
MESSAGE
Typ MESSAGE znamená, že tělo
obsahuje zprávy. Definuje podtypy RFC 822 (běžná zpráva), Partial
(zpráva je částí celku, takto se odesílají zprávy .delší než 64kB) a
External Body (představuje odkaz na soubor, který je vůči emailové
zprávě externí).
download
vysoká kvalita nízká kvalita
Kódování MIME slouží k převodu z osmi
bitů, které se využívají ve standardu MIME, do sedmi bitů ASCII
definovaných standardem RFC 822. Tímto převodem zajistíme
bezproblémovou průchodnost dat Internetem.
Base
64
Data, která jsou výsledkem kódování
Base 64, jsou bez zpětného dekódování nečitelná. Velikost kódované
zprávy se zvětšuje o jednu třetinu. Algoritmus převádí každou skupinu
tří znaků po osmi bitech do čtyř znaků ASCII po šesti bitech. Bity
původního znaku se rozdělí mezi několik znaků, které tvoří výstup
této metody. Všechny znaky se převádějí do množiny 65 znaků, které
jsou společné standardům US-ASCII, EBCDIC a ISO 646. Používá se Base
64 abecedy.
Quoted-Printable
Kódování
Quoted-Printable se používá pro taková data, v nichž většina znaků je
již znaky sedmi bitového ASCII. Princip spočívá v tom, že se základní
znaky ASCII ponechávají beze změny a kódují se pouze znaky s
nejvyšším bitem jedničkovým (8 bitové znaky). Převážná většina zprávy
je tudíž i po zakódování čitelná.
Binary
Hodnota
Binary znamená, že k žádnému kódování nedochází, v proudu dat se
mohou vyskytovat i znaky mimo sadu ASCII a řádky mohou být delší, než
kolik pro úspěšný přenos zpráv dovoluje protokol SMTP.
Seven-Bit
Hodnota Seven-Bit
znamená, že k žádnému kódování nedošlo. Všechny znaky patří do sady
ASCII a řádky jsou dostatečně krátké, takže protokol SMTP může zprávu
úspěšně přenést.