VyÜlo v t²denφku: CHIPweek
╚φslo:3/97
Datum:14. ledna 1997
Strana:33
Rubrika/kategorie: Co to znamenß, kdy₧ se °ekne ...

zp∞t do archivu Φlßnk∙ | rejst°φk | p°edchozφ Φlßnek | nßsledujφcφ Φlßnek

Ji°φ Peterka

MIME

N∞kterΘ zátechnologiφ, dodnes pou₧φvan²ch váInternetu, jsou u₧ pom∞rn∞ starÜφho data, a byly vyvinuty vádob∞, kdy na jejich fungovßnφ byly kladeny pon∞kud jinΘ po₧adavky ne₧ dnes. Platφ to nap°φklad i o elektronickΘ poÜt∞, kterß je dnes váInternetu pou₧φvßna - ve snaze maximßln∞ vyhov∞t p∙vodnφmu zadßnφ ji jejφ auto°i koncipovali takov²m zp∙sobem, kter² je dnes, p°i dosti odliÜn²ch po₧adavcφch u₧ivatel∙, poci¥ovßn spφÜe jako urΦit² handicap.

Zadßnφ, kterΘ auto°i dodnes pou₧φvanΘ InternetovΘ poÜty na zaΦßtku svΘ prßce dostali, zn∞lo: maximßln∞ efektivn∞ vyu₧φt vÜechny dostupnΘ p°enosovΘ kanßly, a zajistit p°enos b∞₧n²ch, neformßtovan²ch textov²ch zprßv, tvo°en²ch "Φist²mi" ASCII znaky. To takΘ auto°i tzv. SMTP poÜty, jak se jφ dodnes °φkß, splnili - protokol SMTP (Simple Mail Transfer Protocol), kter² zajiÜ¥uje faktick² p°enos zprßv mezi jednotliv²mi poÜtovnφmi servery (poÜtovnφmi ·°ady), stejn∞ tak jako dokument RFC822, kter² definuje formßt p°enßÜen²ch zprßv, koncipovali takov²m zp∙sobem, ₧e vát∞le zprßvy p°ipouÜtφ pouze tzv. "Φist² ASCII text" (neboli text slo₧en² v²hradn∞ ze znak∙, pro jejich₧ znßzorn∞nφ postaΦuje 7 bit∙). O n∞jakΘm p°enosu netextov²ch soubor∙, Φi dokonce spustiteln²ch soubor∙, obrßzk∙, databßzφ, digitalizovanΘho zvuku Φi videa se tehdy v∙bec neuva₧ovalo.

Dnes se takto definovanß poÜta pou₧φvß vácelΘm Internetu. Ty jejφ implementace, kterΘ se d∙sledn∞ dr₧φ definice protokolu SMTP a standardu RFC822, se káp°enßÜen²ch text∙m skuteΦn∞ chovajφ jako káposloupnostem "Φist²ch ASCII znak∙", znßzorniteln²ch v 7 bitech - a to i vásituaci, kdy káp°enosu zprßv samy pou₧φvajφ p°enosovΘ kanßly schopnΘ p°enßÜet sedmibitovΘ znaky. D∙sledn∞ vátom smyslu, ₧e pokud by snad n∞jak² znak nßhodou nebyl "Φist² ASCII znak", tj. nebyl by znßzorniteln² v 7 bitech, ale jen vábitech 8, "o°φzly" by mu jeho nejv²znamn∞jÜφ bit, a tφm zán∞j vyrobily n∞jak² ·pln∞ jin² znak. JinΘ implementace se takto drasticky chovat nemusφ, a mohou bez problΘm∙ p°enΘst i 8 bitovΘ znaky - ale po°ßdek musφ b²t, a kdy₧ u₧ jednou n∞kdo zavedl standard °φkajφcφ ₧e p°enßÜen² text smφ b²t jen 7-bitov² Φist² ASCII, nenφ radno podstrkovat p°enosov²m mechanism∙m elektronickΘ poÜty n∞co jinΘho (nebo nenφ radno se nßsledn∞ divit, co se skuteΦn∞ p°eneslo). Vápraxi se sice m∙₧e stßt, ₧e n∞kterΘ zprßvy sájin²m ne₧ Φist²m ASCII obsahem se mohou mezi n∞kter²mi poÜtovnφmi servery p°enΘst bez problΘm∙, ale takΘ nemusφ. ZaruΦeno to nenφ.

Jak se ale sátouto vlastnostφ InternetovΘ poÜty vyrovnat dnes, kdy u₧ivatelΘ cht∞jφ jednak psßt svΘ zprßvy i vájin²ch jazycφch a znakov²ch sadßch, ne₧ jen váangliΦtin∞ vedoucφ na Φist² ASCII text (tedy nap°φklad váΦeÜtin∞, sáhßΦky a Φßrkami). Nebo kdy₧ cht∞jφ ke sv²m zprßvßm p°ibalovat vároli p°φloh nejr∙zn∞jÜφ v∞ci, kterΘ lze zabalit do formy souboru - a¥ ji₧ formßtovanΘ dokumenty z nejr∙zn∞jÜφch editor∙, spreadsheety, databßze, celΘ programy apod. Pokud takovΘto v∞ci nejsou tvo°eny Φist²m ASCII textem (co₧ nejsou), p°enosov²mi kanßly elektronickΘ poÜty sávelkou pravd∞podobnostφ neprojdou bez ·jmy na nejv²znamn∞jÜφm bitu ka₧dΘho svΘho bytu!

╪eÜenφ prßv∞ nastφn∞nΘho dilematu naÜt∞stφ nenφ nijak principißln∞ slo₧itΘ, alespo≥ ne po technickΘ strßnce - to, co je pot°eba p°enΘst a co nenφ Φist² ASCII text, se jednoduÜe zkonvertuje do podoby ΦistΘho ASCII textu, p°enese, a pak zase p°ekonvertuje zp∞t do p∙vodnφ podoby. JednoduchΘ, ne? Zp∙sob∙, jak konverzi i zp∞tnΘ de-konvertovßnφ provΘst, je p°itom celß °ada.

SkuteΦn²m problΘmem je spφÜe organizaΦnφ strßnka v∞ci - jak² zp∙sob konverze zvolit, aby mu ob∞ strany sprßvn∞ (a takΘ stejn∞) rozum∞ly? Jak vyjßd°it v²znam a povahu p°enßÜen²ch dat, tak aby je p°φjemce nejen dokßzal sprßvn∞ "vybalit", ale v∞d∞l takΘ co jsou zaΦ a jak mß sánimi nalo₧it? Pokud se dv∞ strany explicitn∞ dohodnou, je vÜe jednoduchΘ. Ale co kdy₧ pφÜete n∞komu, kdo vßmi pou₧φvanou konvenci dop°edu neznß? Pak nezb²vß ne₧ n∞jakß obecn∞ znßmß, vÜeobecn∞ respektovanß a dodr₧ovanß konvence, nejlΘpe ve form∞ skuteΦnΘho standardu. A prßv∞ takovouto konvencφ je dnes váInternetu standard MIME (od: Multipurpose Internet Mail Extensions).


zp∞t do archivu Φlßnk∙ | rejst°φk | p°edchozφ Φlßnek | nßsledujφcφ Φlßnek
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