MIME mediatyypit

29.11.1998

Seppo Halonen
Ti
Teknillinen korkeakoulu
seppo.halonen@hut.fi

Tiivistelmä

MIME, Multipurpose Internet Mail Extensions, on osa paitsi nykyisen sähköpostin, myös tämän hetken käytetyimmän verkkomedian, www:n, perustaa. RFC 2046 määrittelee MIME-mediatyyppien yleisen rakenteen ja joukon perustyyppejä.

Tämän esseen tarkoitus on esitellä MIME:n mediajärjestelmä tärkeimmiltä osiltaan ja arvioida sen historiaa ja mahdollisuuksia.

1.Johdanto

Alkuperäinen sähköpostijärjestelmä, sellaisena kun se määritellään RFC822:ssa[1], käsittelee ensisijaisesti erilaisten otsikkokenttien rakennetta, jättäen itse viestin sisällön paljaaksi US-ASCII-tekstiksi. Tätä rajoitusta kierrettiin aluksi erilaisilla koodausmenetelmillä, kuten UUENCODE ja BINHEX, mutta nämä olivat vain kiertoteitä sillä kumpikaan koodaus ei sisällä mitään tietoa siitä, minkä tyyppistä tietoa data itse asiassa on.

Tämän asian korjaamiseksi syntyi MIME, jonka tarkoituksena on sallia muiden merkistöjen kuin US-ASCII:n käyttö sähköpostissa, muiden kuin tekstityyppisten sähköpostiviestien lähetys, moniosaisten viestien lähettäminen[3]. RFC 2046 käsittelee mediatyyppien määrittelyä ja lisäksi määrittää muutamia mediatyyppejä.

2. MIME:n perusmediatyypit

RFC 2045[2] määrittelee muutamia lisäkenttiä alkuperäisen RFC 822:n standardin lisäksi. Näistä tässä yhteydessä olennainen on 'Content-Type:' -kenttä, joka kertoo viestin rungon sisällön tyypin. Tämän kentän formaatti on määritelty kyseisessä RFC:ssä, eikä siihen puututa tässä yhteydessä sen tarkemmin.

MIME:n seitsemän perusmediatyyppiä (top level media types) ovat

  1. Teksti
  2. Kuva
  3. Ääni
  4. Video
  5. Sovellus
  6. Moniosainen(multipart)
  7. Viesti(message)
Tekstityyppinen media on tekstiä jonka voi lukea ilman mitään erityisiä apuvälineitä. Raakateksti (text/plain) on pelkkää tekstiä ilman muuta muotoiluja kuin rivinvaihtoja ja tabulaattorimerkkejä. Tekstinkäsittelyohjelman omassa muodossa tallennettu teksti ei siis yleensä ole tyyppiä 'text' [3]. 'Sovellus' on puolestaan jokin sovelluskohtainen tietomuoto. Ellei yksittäinen elementti sovi muiden määritelmiin, se on määriteltävä sovelluskohtaiseksi dataksi. Näistä yleisin on geneerinen application/octet-stream-tyypin data, joka merkitsee yleistä binääristä dataa. Myöskin kaikki mediatyypit joita vastaanottaja ei tunnista käsitellään ikäänkuin ne olisivat tätä tyyppiä.

Moniosainen tyyppi on jono vapaamuotoisilla erottimilla eristettyjä yksinkertaisia tyyppejä. Viestityyppi on puolestaan tarkemmin määrittelemätän enkapsuloitu viesti, jonka muodosta ei ole erityisiä sääntöjä [3].

2.1 Mediatyyppien rekisteröinti

Tietokantaa muista kuin RFC 2046:ssa erikseen määritellyistä mediatypeistä (text/plain, image/jpeg, audio/basic, video/mpeg, application/octet-stream) ylläpitää Internet Assigned Numbers Authority, IANA[4]. Tämän lisäksi voi käyttää tiedostomuotoja joista lähettäjä ja vastaanottaja ovat keskenään sopineet; näiden määritenimi alkaa x-, kuten esimerkiksi image/x-photoshop [3].

3. Nykytilanne, menneisyys ja tulevaisuus.

MIME on kohtalaisen nuori käsite; sen nykyinen määritelmä on päivätty marraskuulle 1996. RFC 2046 on nykyinen standardi, joka korvaa vanhemmat RFC:t 1521, 1522 ja 1590 vuodelta 1993.

Sellaisenaan MIME on käyttökelpoinen. Näin ei kuitenkaan valittavasti ole läheskään kaikkien MIMEä käyttävien ohjelmistojen laita; yleensä toteutus on tavalla tai toisella vajaa. Usein MIMEä myös käytetään turhaan; esimerkiksi muutamat postinlukuohjelmat lisäävät omia viritelmiään kaikkiin viesteihin eivätkä salli käyttäjän kytkeä tätä toimintaa pois.

Vaikka MIME:n historia on varsin lyhyt moneen muuhun internet-standardiin verrattuna, sen tulevaisuus on varsin vakaa, koska kilpailevaa standardia ei ole, ja MIME on lisäksi laajentunut moneen muuhun internetin mediaan. Esimerkiksi HTTP-protokollan Content-Type: on sama kuin RFC 2045:n määrittämä. [3,5]

Lähdeluettelo

[1] Standard for the format of ARPA internet text messages, revised by David H.Crocker, 13.8.1982 [viitattu 29.11.1998]
< ftp://ftp.funet.fi/pub/standards/RFC/rfc822.txt>
[2] N.Freed, N.Borenstein: RFC 2045: Multipurpose Internet Mail Extensions, part 1: Format of Internet Message Bodies, marraskuu 1996 [viitattu 29.11.1998]
< ftp://ftp.funet.fi/pub/standards/RFC/rfc2045.txt >
[3] N.Freed, N.Borenstein: RFC 2046: Multipurpose Internet Mail Extensions, part 2: Media types, marraskuu 1996 [viitattu 29.11.1998]
< ftp://ftp.funet.fi/pub/standards/RFC/rfc2046.txt>
[4] N.Freed, J.Klensin, J.Postel: RFC 2048: Multipurpose Internet Mail Extensions, part 4: Registration procedures, marraskuu 1996 [viitattu 29.11.1998]
ftp://ftp.funet.fi/pub/standards/RFC/rfc2048.txt >

Lisätietoja

www.iana.org
Internet Assigned Numbers Authority