Nyysiopas, luku 4 Liitteet:

Hiukan lisää nyysijärjestelmän tekniikasta

Sisältö:

Jos haluat tietää nyysien tekniikoista syvällisemmin, ks. Notes On News ("the one stop reading center for newsreader writers").

Protokollat - miksi ne ovat tärkeitä?

Internetin toiminta perustuu olennaisesti yhteisiin sopimuksiin eli protokolliin siitä, miten erilaiset tietokoneet, ohjelmat ja järjestelmät ovat vuorovaikutuksessa toistensa kanssa. Sellaiset sopimukset pyritään yleensä kirjoittamaan niin sanotuksi RFC:ksi. Sopimukset ovat välttämättömiä, koska muutoin ei voida saada aikaan sitä, että eri valmistajien erilaiset laitteet, ohjelmat ja järjestelmät "pelaavat yhteen". Olennaista on, että Internetissä asiat voidaan tehdä hyvin monella tavalla; juuri siksi tarvitaan sopimuksia keskeisistä vuorovaikutukseen liittyvistä asioista. Niinpä on esimerkiksi Internetin toimivuuden kannalta yhdentekevää, millä ohjelmalla kirjoitat nyysiartikkelin; mutta olennaista on, että ohjelma lähettää artikkelin siten, että siinä on määrätyt otsaketiedot niin, että kaikki muut, usein hyvin erilaiset, nyyseihin liittyvät ohjelmat voivat käsitellä artikkelin järkevästi, esim. lähettää sen eteenpäin tai näyttää sen käyttäjälleen.

RFC 1036 ja artikkelien leviäminen

Nyysien osalta perussopimuksena eli -protokollana on RFC 1036. Sen otsikko on Standard for Interchange of USENET Messages, vaikka kyseessä ei olekaan virallinen standardi. Toisaalta tämä jo vuonna 1987 määritelty protokolla on erittäin vakiintunut. Sen ongelmana on kuitenkin rajoittuneisuus: se on kirjoitettu aikana, jolloin mm. merkkivalikoimat olivat paljon suppeampia kuin nykyisin.

Henry Spencer kirjoitti luonnoksen RFC 1036:n seuraajaksi, News Article Format and Transmission, johon usein viitataan nimellä Son of 1036 ja josta RFC 2076 toteaa: "Not even an RFC, but still widely used and partly almost a de-facto standard for Usenet News". Käynnissä on paljolti siihen pohjautuva, UseFor-niminen hanke RFC 1036:n viralliseksi korvaamiseksi uudella määrittelyllä, mutta se etenee hitaasti.

Edellä mainittu RFC 1036 määrittelee artikkelien rakenteen lisäksi hyvin yleisellä tasolla sen, miten artikkelit leviävät eli propagoituvat nyysijärjestelmässä.

Kaavioin kuvitettu lyhyt esitys aiheesta on Jacob Palmen artikkelissa How the Usenet News Protocols Work.

RFC 1036 ei puutu tarkemmin siihen, miten palvelimet "keskustelevat" keskenään artikkelien propagoimiseksi, ei myöskään sitä, miten nyysiohjelma ja palvelin kommunikoivat sitä varten, että käyttäjä saa luettavakseen artikkeleita ja voi niitä lähettää. Käytännössä protokollana näitä tarkoituksia varten on NNTP, jonka nimi johtuu sanoista Network News Transfer Protocol ja jonka määrittelee RFC 977. Tavallinen käyttäjä ei yleensä tarvitse tietoa sen tason protokollista. Joskus kuitenkin RFC 977:stä saattaa olla hyötyä etenkin virheilmoitusten selvittelyssä; voi olla hyvä tietää, että jokin virheilmoitus on tullut nimenomaan palvelimelta, ei nyysiohjelmalta! Janne Kujala ja Panu Mäkinen ovat kirjoittaneet laajahkon suomenkielisen kuvauksen NNTP-protokollasta.

Mainittakoon vielä se joskus sekaannuksia aiheuttava asia, että usein protokollaa kutsutaan samalla nimellä kuin sen yhtä (esim. alkuperäistä) toteutusta. Ohjelma, joka toimii jonkin protokollan mukaan, on toki käsitteellisesti ja käytännöllisesti eri asia kuin protokolla itse! Erityisesti "NNTP" voi tarkoittaa paitsi protokollaa myös erästä ohjelmistoa, kyseisen protokollan alkuperäistä toteutusta. Eräs uudempi toteutus on INN eli InterNetNews. Näitä asioita selostaa mm. dokumentti Usenet Software: History and Sources.

Muita keskeisiä nyyseihin liittyviä protokollia on mainittu ja lyhyesti luonnehdittu Lars Magne Ingebrigtsenin dokumentissa Notes On News. Taustatietoja antaa ja tulevaisuuttakin arvioi Rohit Kharen The News about Jon... Reflections on the Wizard of TPs; and other Network News

Otsakkeet (headers)

Otsakkeiden tarkoitus

Nyysiviestiin liittyy aina joukko otsakkeita (headers). Niitä voidaan verrata kirjekuoren päällä näkyviin tietoihin tai kirjan kansiin (ja nimiösivuun), jolloin itse viesti, "body", vastaa kuoren sisällä olevaa kirjettä tai kansissa olevaa kirjaa. Tärkeimpien otsakkeiden muodon määrittelee edellä mainittu nyysiprotokolla, tällä hetkellä siis RFC 1036. Lisäksi on vaihtelevassa määrin käytössä muitakin otsakkeita, ks. koosteita Common Internet Message Header Fields ja Quick reference to Internet message headers.

Otsake on erotettava otsikosta, joka esitetään yhdellä otsakeriveistä, Subject-rivillä. (Nämä nimitykset eivät valitettavasti ole vakiintuneita.)

Esimerkki otsakkeista

Seuraavassa esimerkissä on erään artikkelin kaikki otsakkeet:

Path: news.cs.hut.fi!news.clinet.fi!nntp.teliafi.net!news.kolumbus.fi!
nntp.se.dataphone.net!newsfeed.online.no!news-feed.inet.tele.dk!bofh.vszbr.cz!
newsfeed.wli.net!nntp2.dejanews.com!nnrp1.dejanews.com!not-for-mail
From: jkorpela@malibutelecom.com
Newsgroups: sfnet.aloittelijat.kysymykset
Subject: Re: Voisiko joku =?US-ASCII?Q?yst=E4v=E4llisesti?= auttaa?
Date: Fri, 25 Sep 1998 11:59:02 GMT
Organization: Deja News - The Leader in Internet Discussion
Lines: 14
Message-ID: <6ug0i5$ohm$1@nnrp1.dejanews.com>
References: <3607CB67.4320@na.netppl.fi> <6ud4f7$93p$1@ousrvr3.oulu.fi>
NNTP-Posting-Host: 193.167.3.6
X-Article-Creation-Date: Fri Sep 25 11:59:02 1998 GMT
X-Http-User-Agent: Mozilla/4.0 (compatible; MSIE 4.0; Windows 95)
X-Http-Proxy: 1.1 x3.dejanews.com:80 (Squid/1.1.22) for client 193.167.3.6
Xref: news.cs.hut.fi sfnet.aloittelijat.kysymykset:4997

Käytännön syistä edellä on jaettu Path-otsake eri riveille. Todellisuudessa se on yhtenä pitkänä rivinä. Subject-otsakkeen kummallisuus johtuu (virheellisestä!) otsakkeen koodauksesta, joka selitetään jäljempänä kohdassa Mime.

Otsakkeiden näkyminen

Riippuu nyysiohjelmasta ja sen asetuksista, mitkä otsaketiedot se näyttää ja missä muodossa. Seuraava esimerkki sisältää kyseiset otsaketiedot sellaisina, kuin ne oletusarvoisesti näkyvät Gnus-ohjelmalla katsottuina:

From: jkorpela@malibutelecom.com
Subject: Re: Voisiko joku =?US-ASCII?Q?yst=E4v=E4llisesti?= auttaa?
Newsgroups: sfnet.aloittelijat.kysymykset
Date: Fri, 25 Sep 1998 11:59:02 GMT
Organization: Deja News - The Leader in Internet Discussion

Jotkin ohjelmat saattavat esittää otsakkeet esimerkiksi suomenkielisiä nimityksiä käyttäen, esim. From-otsakkeen nimellä "Lähettäjä". Mutta itse viestissä, sellaisena kuin ohjelma sen vastaanottaa tai lähettää, otsakkeiden tulee noudattaa protokollaa - muuten on jotain pahasti pielessä.

Pakolliset otsakkeet

Seuraavat otsakkeet ovat pakollisia:

PathPolku, jota pitkin artikkeli on kulkenut (luettava oikealta vasemmalle).
FromLähettäjän meiliosoite. Mukana voi olla kommenttikentässä lähettäjän nimi.
NewsgroupsRyhmät, joihin artikkeli on lähetetty.
SubjectOtsikko.
DateAjankohta, jolloin artikkeli alun perin lähetettiin nettiin. Lopussa oleva merkintä kertoo aikavyöhykkeen; esim. GMT tarkoittaa UTC:tä, ent. Greenwich Mean Time.
Message-IDArtikkelin tunniste.

"Pakollisuus" merkitsee tässä, että protokollan mukaan niiden pitää olla mukana. Tästä ei välttämättä seuraa, etteikö artikkeli voisi levitä nyyseihin, vaikka osa pakollisista otsakkeista puuttuu.

Kaikki otsakkeet esiin

Kuten esimerkistämme yllä näkyy, kaikki nyysiohjelmat eivät suinkaan aina näytä kaikkia otsakkeita, edes kaikkia pakollisia. Useat otsaketiedot ovat melko teknistä informaatiota, jonka näkyminen häiritsisi itse asian lukemista; mm. Path-otsaketta ohjelmat eivät yleensä näytä, ainakaan oletusarvoisesti. Yleensä nyysiohjelmaa voi kuitenkin käskeä näyttämään kaikki otsakkeet, mikä on usein tärkeää mm. virheiden selvittelyssä tai ns. spämmistä valitettaessa. Tämä tehdään esimerkiksi

Tietoja viestien otsakkeiden saamisesta näkyviin meiliohjelmissa on englanniksi sivulla How do I get my email program to reveal the full, unmodified email?. Osa näistä tiedoista on hyödyksi nyysien käytössäkin, koska joitakin meiliohjelmia käytetään nyysien lukemiseenkin.

Joskus taas haluat omaa artikkeliasi lähettäessäsi kirjoittaa tai muuttaa sellaisia otsikoita, jotka eivät normaalisti näy käyttämässäsi ohjelmassa. Tavallisimmin tämä tulee kyseeseen siirrettäessä keskustelua toiseen ryhmään, jolloin pitää päästä muuttamaan Followup-To-otsaketta. Tarkoitukseen käytetään erilaisia ohjelmakohtaisia menettelyjä, esimerkiksi

Otsakkeiden automaattinen rakentuminen

Osan otsakkeista rakentavat erilaiset ohjelmat automaattisesti. Esimerkiksi Path-otsakkeeseen keräytyy vaiheittain tieto siitä, mitä reittiä pitkin artikkeli kulkee. Osa taas on peräisin käytetyn nyysiohjelman asetuksista; ne saattavat olla ihan poskellaan, jos käyttäjä ei tiedä, miten ne pitää laittaa kuntoon. Organization-kenttä sisältää periaatteessa tiedon viestin lähettäjän organisaatiosta, mutta se on hyvin usein mitä sattuu; esimerkkitapauksessamme se viittaa Deja-järjestelmään, koska artikkeli oli lähetetty sen kautta - ilman, että kirjoittaja suinkaan olisi ollut Dejan leivissä!

Itse asiassa useimmiten vain Subject-otsikko on käyttäjän kirjoittama, ja sekin yleensä vain, kun artikkeli aloittaa uuden aiheen, t.s. sitä lähetetä "follariksi" aiempaan viestiin. Vastausartikkeleihinhan käytettävä nyysiohjelma yleensä kirjoittaa automaattisesti Subject-otsakkeen.

References-otsakkeen rakentaminen on nyysiohjelman tehtävä, eikä siihen ole syytä käyttäjän puuttua. Tämä otsake erottaa vastausartikkelin "follarin" sellaisesta artikkelista, joka aloittaa uuden aiheen, uuden threadin. Otsake sisältää niiden viestien Message-ID:t, joihin se "viittaa", niin että viimeisenä se viesti, johon viesti on lähetetty vastaukseksi, ja sitä ennen on mahdollisesti se viesti, johon tämä puolestaan oli vastaus jne. (Jotkin ohjelmat kyllä ottavat viestejä threadeiksi järjestäessään huomioon myös niiden Subject-otsakkeet ainakin osittain. Mutta References on se otsake, joka protokollan mukaan ilmoittaa artikkelien suhteet toisiinsa.) Kun rupeat kirjoittamaan vastausartikkelia, on käyttämäsi ohjelman tehtävä rakentaa sinun viestiisi References-kenttä.

References-otsakkeesta on hyötyä, kun lukemasi viesti on vastaus johonkin viestiin, jota et ole nähnyt. Kyseisen otsakkeen lopussa olevaa Message-ID:tä käyttämällä löydät yleensä viestin, tavalla tai toisella.

Nyysi- ja meiliviestien muodon vertailua

Nyysiartikkelien otsakkeet ja koko rakenne muistuttavat suuresti meiliviestien otsakkeita ja rakennetta. Erona on keskeisesti vain se, että nyysiartikkelissa on Newsgroups-otsake, meiliviestissä taas To-otsake. Samanlaisuus ei toki ole sattumaa, vaan nyysiartikkelien rakenne suunniteltiin siten, että se on muunnelma meiliviestien rakenteesta, jonka määrittelee vuonna 1982 kirjoitettu RFC 822, joka oli voimassa vuoteen 2001 Internet-standardina, STD 11. (Uusi standardi RFC 2822 on lähinnä RFC 822 jonkin verran modernisoituna ja täsmennettynä.)

Viestien tunnisteet

Message-ID-otsake sisältää viestin yksikäsitteisen tunnisteen. Tunniste koostuu alkuosasta, @-merkistä ja sen koneen Internet-nimestä tai -osoitteesta, jonka kautta artikkeli alun perin lähetettiin nyyseihin; tämän ympärillä on useissa yhteyksissä (mm. juuri Message-ID-otsakkeessa) oltava merkit < ja >. Tunnisteen alkuosa näyttää siansaksalta, koska se on ohjelman generoima ja koska se on tarkoitettu ohjelmien käsiteltäväksi, ei juurikaan ihmisen luettavaksi tai kirjoitettavaksi. Edellä esitetyssä esimerkissä tunniste oli
<6ug0i5$ohm$1@nnrp1.dejanews.com>

Message-ID:n perusteella voidaan muodostaa URL, joka viittaa viestiin, kirjoittamalla sen eteen news:. Valitettavasti Web-selaimet eivät useinkaan ymmärrä niitä, mutta useat nyysiohjelmat osaavat toimia järkevästi: ne näyttävät tuota muotoa ovat rakenteen ikään kuin linkkinä, jota seuraamalla käyttäjä saattaa päästä lukemaan viestiä, johon on viitattu. Tämä on joskus näppärää viitattaessa artikkelissa johonkin toiseen, suhteellisen tuoreeseen viestiin.

Kyseistä tunnistetta ei pidä sekoittaa viestin numeroon, joka on paitsi ryhmäkohtainen myös palvelinkohtainen asia. (Viestin numero kyllä usein näkyy Xref-otsakkeessa, mutta kyseinen otsake on nimenomaan sellainen, jonka sisällön kukin palvelin muuttaa, kun artikkeli leviää nyysijärjestelmässä!)

Mime

Mime on protokolla, joka kehitettiin alun perin mahdollistamaan muunkin kuin tekstin lähettäminen meilin kautta. Tätä kuvastaa se, että nimi on lyhenne sanoista Multipurpose Internet Mail Extensions. Protokollan nykyinen määrittely sisältyy RFC 2045:een ja RFC 2046:een sekä lukuisiin niitä täydentäviin dokumentteihin; ks. koostetta Multipurpose Internet Mail Extensions MIME, joka sisältää mm. aihetta koskevat perus-RFC:t hypertekstimuodossa ja niiden yhteisen sisällysluettelon.

Periaatteessa Mime mahdollistaa sen, että niin meiliviestissä kuin nyysiartikkelissakin on mitä hyvänsä dataa, jolle on määritelty mediatyyppi (Mime-tyyppi). Tämä tyyppi ilmaistaan viestin Content-Type-otsakkeessa. Viestin sisältö voisi olla vaikkapa ns. multipart-viesti eli useasta erityyppisestä osasta koostuva kokonaisuus, joka sisältää vaikkapa äänitiedoston, videonpätkän ja HTML-dokumentin. Käytännössä tällaisten viestien lähettäminen on syytä rajoittaa tilanteisiin, joissa viestinnän kaikki osapuolet ovat siihen valmiit - "between consenting adults", kuten jotkut asian ilmaisevat. Useimmiten multipart-viestin ilmestyminen johtuu siitä, että käyttäjä on tietämättään käyttänyt lähettämiseen Web-selainta, jota ei ole konfiguroitu kuntoon.

Miksi vain tekstiä?

Monet palvelimet poistavat automaattisesti keskusteluryhmistä kaikki muut viestit kuin pelkkää tekstiä sisältävät. Google ei arkistoi muita kuin tekstiviestit. Näin ollen jos esimerkiksi liität artikkeliisi kuvan, varsin monet ihmiset eivät näe viestiäsi lainkaan.

Ihmiset voivat sopia keskenään vaikka minkämuotoisen aineiston lähettämisestä meilitse, kunhan tietävät, mitä tekevät, ja ovat varmistaneet, että vastaanottajan ohjelma selviää siitä, mitä lähettäjän ohjelma lähettää. Nyyseissä tämä ehto ei täyty juuri koskaan. Et voi järkevästi olettaa, että nyysien lukijoiden käyttämät ohjelmat selviäisivät muusta kuin tekstimuotoisesta datasta - siinäkään tapauksessa, että oma ohjelmasi osaisi lähettää sen oikealla tavalla (mikä ei ole mitenkään varmaa).

Poikkeuksen voivat muodostaa erikoisryhmät, joiden omissa kuvauksissa ja säännöissä selkeästi sanotaan, että niihin voi lähettää muutakin aineistoa. Tyypillisesti sellainen ryhmä on binaariryhmä, joka olemassa vain binaaridatan lähettämistä varten. Aiemmin sellaista varten oli olemassa sfnet.tiedostot, mutta se lakkautettiin laajamittaisen väärinkäytön takia. Kansainvälisiä binaariryhmiä on suuri määrä, mm. alt.binaries-ryhmät.

Binaaridata tarkoittaa tässä yhteydessä mitä tahansa aineistoa, joka ei ole pelkkää tekstiä. Myös esim. Word-dokumentti katsotaan binaaridataksi, koska se sisältää muotoiluinformaatiota eikä ole sellaisenaan (ilman Word-ohjelmaa tai vastaavaa) luettavissa. Teoreettisesti voitaisiin kiistellä siitä, onko esim. HTML-muotoinen dokumentti tai vaikkapa LaTeX-dokumentti tekstiä vai binaaria; käytännöllinen vastaus on joka tapauksessa, että kummatkaan eivät kuulu nyyseihin. (HTML:ää tai LaTeXia käsittelevässä ryhmässä toki lyhyehköt otteet HTML- tai LaTeX-koodista ovat toki sallittuja silloin.)

Kirjoittamalla nyyseihin vain tekstiä parannat siis huomattavasti mahdollisuuksia saada viestisi perille. Esimerkiksi jos lähetät nyyseihin kysymyksen (esim. "mikähän sieni tämä on") ja sinulla on siihen liittyvä kuva (esim. piirros tai valokuva), niin älä lähetä itse kuvaa nyyseihin. Laita kuva Web-sivullesi ja kerro sen URL. Jos sinulla ei ole omaa Web-sivutilaa tai et osaa käyttää sitä, laita kuva esimerkiksi johonkin ilmaispalvelimeen kuten ImageShack tai PhotoBucket.

Kuvan laittaminen Webiin on vaikeudeltaan samaa luokkaa oleva asia kuin sen lähettäminen nyyseihin olisi. Mutta jos se jostain kumman syystä on mahdotonta, niin käytä edes jotain binaariryhmää (eikä keskusteluryhmää) kuvan lähettämiseen. Itse kysymyksen lähetät silloin tietenkin siihen ryhmään, mihin se kuuluu, ja mainitset, minne olet kuvan lähettänyt.

Binaaridatan lähettäminen nyyseihin on myös resurssien tuhlausta, koska esimerkiksi pienehkö kuvakin digitaalisessa muodossa vie paljon tilaa ja siirtoaikaa. Dokumentti The Bincancel FAQ perustelee asiaa tarkemmin. Huomaa myös, että jos liität nyysiartikkeliisi binaariliitteen, koko juttu - myös tekstisi - jää monelta lukematta, koska jokin tai joku suodattaa pois artikkeleita.

Ns. täysi newsfeed eli se määrä dataa, jonka nyysipalvelin ottaa vastaan, jos sen valikoimaan kuuluvat "kaikki ryhmät", oli erään arvion mukaan 350 gigatavua vuorokaudessa vuodenvaihteessa 2002/2003. Siitä binaariryhmien osuus on yli 99 %. (Arvio syysk. 1999: 50 gigatavua, siitä binaariryhmät 48 gigatavua.) ja Nykyisin kun binaareja on suurimmaksi osaksi vain erillisissa binaariryhmissä, palvelimen ylläpidon on helppo karsia binaareja pois tai kohdella niitä eri tavalla kuin tekstiartikkeleita, esim. asettaa lyhyempi ekspiroitumisaika. Jos binaareja olisi huomattavassa määrin muissakin ryhmissä, tilanne kävisi aika mahdottomaksi. Tässä on siis kyse palvelinten ja niiden ylläpidon resursseista. Tämän lisäksi tulevat vielä käyttäjien ongelmat. Nyysiohjelmaa ei ehkä lainkaan voi käskeä hakemaan vain määrätyn koon alittavat artikkelit (saati tunnistamaan binaarit!), joten esim. modemikäytössä syntyy erittäin inhottavia tilanteita, kun käyttäjä pyytää ohjelmaansa hakemaan uudet artikkelit ja seassa on yksikin iso binaari - ehkä vielä vahingossa useaan kertaan lähetettynä! (Jostakin syystä ihmiset, jotka lähettävät nyyseihin binaareja, usein töpeksivät muutenkin.)

Erityisesti ns. HTML-muotoiset viestit ovat typeriä monestakin syystä. Sama koskee sellaisia ns. multipart-viestejä, joissa on teksti tekstinä ja erikseen "HTML:nä" jossakin järjestyksessä ynnä lisäksi lisärivejä, jotka näyttävät lähinnä apinan kirjoittamilta. Ne tuhlaavat resursseja, koska viestit ovat paljon pidempiä kuin varsinainen teksti, eikä mukana juuri koskaan ole lisäinformaatiota. Päinvastoin siinä on disinformaatiota kuten pyrkimys pakottaa lukija näkemään teksti senkokoisilla ja -näköisillä kirjaimilla, joilla lähettäjä sen kirjoitti! "HTML-muoto" on käytännössä jonkin nyysiohjelman suoltamaa soopaa, joka ei yleensä ole edes muodollisesti oikeaa saati järkevää HTML-kieltä. Ja käsityksen siitä, miltä "HTML:ää" sisältävä, ns. multipart-viesti näyttää esim. Google Groups -järjestelmän kautta katsottuna, antanee seuraava ote:

Esimerkki on omasta testistäni: Lähetin testiviestin Outlook Expressillä asetuksin, jotka saattaisivat aivan hyvin olla normaaliasetukset (oletusasetukset). Kirjoitin viestin runkoon kaksi riviä ja niiden väliin tyhjän rivin, mutta OE lähetti sen ns. multipart-viestinä, jossa on kymmeniä rivejä. Vaikka esim. OE itse osaa luettaessa jotenkin tulkita tällaisen, niin esim. Google Groups ja monet nyysiohjelmat näyttävät sen sellaisenaan.

Katso myös Mika Latokartanon kirjoittamia perusteluja sille, että keskusteluryhmiin ei ole syytä lähettää binaareja.

Merkkien koodaus

Yksi Mimessä määritellyistä asioista on se, miten nyyseissä (ja meilissä) voidaan käyttää laajempaa merkkivalikoimaa kuin Ascii - käyttäen kuitenkin vain Ascii-merkkejä! Ideana tässä on sopia joistakin koodauksista. Koodausta voisi verrata salakirjoitukseen: merkit esittävät muita merkkejä joidenkin sääntöjen mukaan. Voidaan vaikkapa sopia, että kolmen Ascii-merkin jono =E4 tarkoittaa ä-kirjainta (joka ei ole Ascii-merkki).

Tällaisessa koodauksessa, aivan päinvastoin kuin salakirjoituksessa, perusajatuksena on, että käytetty menetelmä on julkisesti kuvattu. Mime-protokollakokonaisuuteen kuuluva RFC 2045 määrittelee seuraavat koodausmenetelmät:

Ks. myös Michael Santovecin opasta Decoding Internet Attachments, joka kuvailee näiden lisäksi myös muita usein käytettyjä koodausmenetelmiä.

Koodauksen yksinkertaisuus tai monimutkaisuus ei sinänsä ole kovin olennainen asia, koska tarkoitus on, että koodaamisen ja koodauksen purkamisen (dekoodauksen) tekevät ohjelmat, eivät ihmiset. Periaatteessa vain sellaisten ohjelmien tekijöiden tarvitsee tuntea koodausmenetelmät.

Käytännössä tilanne voi olla toinen, koska kaikki käytettävät ohjelmat eivät suinkaan tunne kaikkia käytettyjä koodauksia vaan saattavat useinkin näyttää käyttäjälle koodatun datan sellaisenaan (siis esim. "yst=E4v=E4llisesti", ei "ystävällisesti"). Niinpä onkin yleensä parempi esimerkiksi suomeksi nyyseihin kirjoitettaessa käyttää ns. 8-bittisiä merkkejä sellaisinaan, ISO Latin 1 -merkkeinä, eikä koodattuina. Tällöin tulisi huolehtia siitä, että otsaketiedoissa on
Content-Type: text/plain;charset=iso-8859-1

Yleisesti Content-Type-otsakkeessa voidaan kertoa paitsi mediatyyppi (Mime-tyyppi) kuten text/plain myös se merkkikoodi, jonka mukaan data on esitetty. Merkkikoodi vastaa tässä yhteydessä käsitettä "character encoding", mutta se on erotettava koodauksesta edellä kuvatussa merkityksessä, joka sisältää jonkin merkistön esittämisen jotakin toista merkistöä (yleensä Ascii) käyttäen. Todettakoon, että tämä ei vain kuulosta vaikealta ja sekavalta, se on vaikeaa ja sekavaakin; merkkikoodiasioita yrittää selittää A tutorial on character code issues.

Viestien sisällön lisäksi myös otsakkeissa, etenkin Subject-otsakkeessa, halutaan usein käyttää muitakin kuin Ascii-merkkejä Mime-protokollakokonaisuuteen kuuluva RFC 2047 määrittelee tätä varten erään menetelmän. Menetelmä on seuraavanlainen:

Aiemmin esitetyssä otsake-esimerkissä oli otsake

Subject: Re: Voisiko joku =?US-ASCII?Q?yst=E4v=E4llisesti?= auttaa?
jossa siis ä-kirjaimet on esitetty Quoted Printable -koodattuina tässä kuvatulla menetelmällä - paitsi että merkkivalikoima US-ASCII on virheellinen. Eihän ä-kirjain suinkaan kuulu Ascii-merkistöön! Jos merkkivalikoimana olisi ISO-8859-1, niin otsake olisi periaatteessa oikea.

Käytännössä otsakkeiden koodausta ei yleensä kannata käyttää. Ensinnäkään nyysiohjelmat eivät useinkaan osaa tehdä sitä oikein, kuten esimerkistäkin ilmenee. Toiseksi nyysiohjelmat eivät useinkaan osaa tulkita (purkaa) koodausta silloinkaan, kun se on tehty oikein. Esimerkiksi Google Groups näyttää viestin otsikon sotkuna, jos siinä on käytetty em. koodausta. (Aiheesta on lisää erillisessä artikkelissani skandeista.) Nyysiviestien otsikoihinkin on siis parasta kirjoittaa ä:t ja ö:t sellaisinaan, ja laittaa nyysiohjelman asetukset sellaisiksi, että ohjelma myös lähettää ne sellaisinaan, koodaamattomina.