RFC 977: Network News Transfer Protocol

Summary by Veikko Siivola

RFC 977 esittelee ehdotuksen NNTP-protokollan standardiksi. Siihen voidaan esittää tarpeen mukaan parannusehdotuksia. Kaikki Internetin uutistenvälitysohjelmat noudattavat tätä määrittelyä. NNTP on Internetin uutisryhmissä käytettävän uutisviestien välitysprotokolla. NNTP määrittelee, miten uutisviestejä haetaan, postitetaan ja jaetaan eteenpäin. Tämä RFC on määritelty vuonna 1986. Sen määrittelyihin perustuu koko uutisjärjestelmän toiminta edelleen. Tämä määrittely sallii myös uusien laajennusten lisäämisen protokollaan.

Internetin kehityksen alussa keskusteluryhmiä jaettiin lukijoille postituslistoina. Jos listalla on paljon osallistujia, eikä lukijajoukon tarvitse olla rajattu, järjestely on epäkäytännöllinen. Samasta viestistä jaetaan erikseen kopio jokaiselle lukijalle. Tämä lisää verkkoliikennettä ja levytilan kulutusta. Sen sijaan keskusteluryhmät voisivat olla yhdessä keskitetyssä tietokannassa, josta lukijat voisivat lukea viestejä ja kirjoittaa niitä. Tämä johti lopulta Usenet News-järjestelmän syntymiseen. Se on nyt yksi tärkeimmistä Internetin palveluista.

NNTP on asiakas-palvelin-malliin perustuva sovellustason protokolla. NNTP-protokolla määrittelee, miten uutispalvelimet välittävät viestejä eteenpäin muille uutispalvelimille ja sen, miten käyttäjän asiakasohjelma keskustelee uutispalvelimen kanssa. Kun käyttäjä alkaa lukea uutisia, asiakasohjelma avaa TCP-yhteyden uutispalvelimeen porttiin 119. NNTP-protokollassa komennot ovat tekstimuotoisia sanoja. Komentojen perässä voi olla myös parametreja. Komennon maksimipituus on 512 merkkiä ja komento päättyy merkkipariin CR/LF. Vastaukset ovat ASCII-muotoisia numerokoodeja, Uutispalvelin kertoo numerokoodilla, onnistuiko komennon suoritus vai tuliko virhetilanne. Numerokoodin perässä voi olla asiaan liittyvää selväkielistä tekstiä.

Joidenkin komentojen vastauksiin liittyy tekstiä, joka tulee numerokoodin sisältävän vastausrivin jälkeen seuraavilla riveillä. Tällaisia komentoja ovat esimerkiksi uutisryhmälistan kysely ja viestien luku uutisryhmästä. Tämä RFC 977 ei määrittele, millainen postitettavan uuden uutisviestin rakenne on. Sen määrittelee RFC 850.

RFC:n määrittelmän mukaan viesteissä ja komennoissa käytetään 7-bittistä ASCII-merkistöä. Ohjelmien ei tarvitse päästää merkkejä 8-bittisenä läpi. Nykuisin käytäntö on kuitenkin sellainen, että uutisviesteissä sallitaan 8-bittinen merkistö ja käytössä olevat uutisohjelmistot osaavat käsitellä sitä ainakin monissa Euroopan maissa. Uutisviestin otsikkotiedoissa on rivi, jolla voidaan kertoa käytettävä merkkikoodi. Otsikkotiedoissa määritellään myös käytettävä koodaus. Se voi olla 8-bittinen tai quoted printable tai jotakin muuta. Asiakasohjelman tehtävä on tarvittaessa purkaa tämä koodaus lukijalle ymmärrettvään muotoon.