Vyšlo v Softwarových novinách č. 10/97, v říjnu 1997
Vytištěno z adresy: http://www.earchiv.cz/a710s200/a710s233.php3

Nové položky v hlavičkách zpráv

Další otázkou, kterou standard MIME nutně musí vhodně ošetřit, je jakým způsobem vyjádřit "nové" informace ve zprávách, formátovaných podle původního standardu RFC822. Zde je naštěstí možné postupovat vcelku přímočarým způsobem, a to přidáváním nových položek do hlaviček zpráv. Je to možné díky tomu, že v původním standardu RFC822 je zakotveno následující pravidlo pro subjekty, které formát zprávy vyhodnocují: "pokud nějaké položce v hlavičce zprávy nerozumíš, ignoruj ji". Právě díky tomuto momentu je možné inkrementální řešení celého standardu MIME, který je nadstavbou nad původní koncepcí elektronické pošty, a nevyžaduje její radikální obměnu.

Nové položky, které standard MIME přidává do hlaviček zpráv, pak mohou specifikovat vše potřebné pro přenos i následné zpracování zpráv. Například pro vyjádření datového typu těla zprávy (nebo konkrétní části, jde-li o zprávu tvořenou více částmi) slouží položka Content-type:. Například u zprávy, jejíž tělo by bylo tvořeno čistým ASCII textem, by tato položka měla hodnotu

Content-type: text/plain
zatímco v případě obsahu psaného v jazyku HTML by tato položka měla hodnotu
Content-type: text/html

V případě, že text zprávy či její části nebude "sedmibitový", bude nutné jej vhodně zakódovat, pomocí jednoho z dvou způsobů kódování, které MIME doporučuje, tj. buď pomocí kódování "quoted-printable", nebo pomocí kódování Base64. Příslušnou variantu pak vyjadřuje položka

Content-transfer-type:
která může nabývat hodnot "quoted-printable", "base64", nebo implicitní hodnotu "7bit" (která říká, že obsah není nijak kódován a je "sedmibitový"). V úvahu pak připadají i některé další možnosti, které ale již přesahují rámec tohoto textu.

Dalším atributem, který je nutné v hlavičce zprávy vyjádřit, je i jazyk, ve kterém je text psán. Tento údaj se uvádí jako další parametr jménem "charset", a to u položky Content-type. V našich zeměpisných šířkách je zřejmě nejčastější použití znakové sady ISO-8859-2 (též: ISO Latin 2). Celá specifikace česky psaného textu zprávy, který je pro potřeby přenosu zakódován pomocí kódování quoted-printable a používá znakovou sadu ISO-8859-2, pak je:

Content-type:  text/plain; charset="iso-8859-2"
Content-transfer-type: quoted-printable

Obrázek 1.
Příklad zprávy, odesílané z poštovního klienta MS Outlook Express, nakonfigurovaného na použití MIME. Jelikož zpráva obsahuje jeden soubor jako přílohu, je odesílána jako "multipart" (zpráva tvořená více částmi: první část představuje vlastní tělo zprávy, a druhá část představuje přílohu.

Při čtení zprávy pomocí poštovního klienta v prostředí MS Windows by tento využil informaci o znakové sadě k tomu, aby provedl potřebnou konverzi ze znakové sady ISO-8859-2 do kódové stránky CP1250 (resp. poštovní klient na jiné platformě by provedl konverzi do takového kódování, jaké je na dané platformě používáno).

Dalšími položkami do hlaviček zpráv, které standard MIME musí definovat, jsou například položky umožňující rozdělit tělo jedné zprávy na několik částí (resp. implementovat typ "multipart", kdy jedna zpráva má několik relativně samostatných částí. Každá z takovýchto částí pak musí sama specifikovat jak svůj typ, tak i použité kódování, znakovou sadu a další náležitosti.