IL PROTOCOLLO NNTP

Il Network News Transfer Protocol (NNTP) è un protocollo che permette ai News Server e ai newsreader di comunicare tra di loro. NNTP è diseganto in modo tale che gli articoli vengano conservati in particolari server e permette agli utenti di selezionare quei messaggi che vogliono leggere. Il protocollo prevede inolte la possibilità di indicizzare, di cross postare e di far scomparire gli articoli dopo un certo periodo. La descrizione dettagliata del protocollo è disponibile nella RFC 977 e 1036.

E' disponibile anche il figlio della RFC 1036:

http://www.stud.ifi.uio.no/~larsi/notes/son-of-rfc1036.txt (versione txt)

http://www.stud.ifi.uio.no/~larsi/notes/son-of-rfc1036.ps (versione postscript)

NNTP può essere utilizzato con semplici file di testo e quindi anche con Telnet. In alcuni computer con Windows NT 3.5 si deve scrivere ^J dopo ogni comando invece di premere "Invio". Ovviamente si deve fare attenzione dato che non c'è l'eco locale e quindi non si può cancellare quello che si è scritto. Ecco qui di seguito una serie di comandi NNTP che si possono utilizzare connettendosi ad un server news con Telnet alla porta 119:

help: da la lista dei comandi che si possono utilizzare per quel server.

mode reader: Dice al server che chi si è appena connesso è un "lettore", non una macchina coinvolta nel "Feed - in" (cioè che vuole aggiornare il server con nuovi articoli)

mode stream: Dice al server che si è connessa una macchina per il feed.

list: da la lista di tutti i gruppi. L'operazione potrebbe richiedere anche molto tempo. Ogni gruppo listato ha questo formato: gruppo nnnn nnnn y (n). nnnn indica il numero del primo e dell'ultimo articolo disponibile mentre y o n indica se è possibile o meno il post su quel gruppo.

authinfo user USERNAME|pass PASSWORD: Viene utilizzato per farsi autenticare dal server nel caso questo non fosse pubblico.

group NOMEGRUPPO: Il server risponde più o meno in questo modo:
group rec.humor
211 299 101760 104058 rec.humor selected
Visualizza quindi in numero di articolo (299) e il numero del primo e dell'ultimo messaggio presente sul server (in questo caso ci sono i messaggi da 101760 a 104058). 211 è l'inizio della risposta del server.

Article nnn: mostra l'articolo richiesto e può essere specificato per il numero del messaggio o per il Message-ID

ihave: offre al server un nuovo articolo. Il server risponderà o con "please send the message" oppure con "No, thank you" se non accetta il posting e quindi è a sola lettura. Viene di solito utilizzato per il feed del server.
Esempio di trattazione ihave:
Send ihave <messageID>
Waitfor: Wanted oppure Not Wanted
Send Message (Solo se si è scelta, l'opzione Wanted)

Post: Offre al server un nuovo articolo.

Check: Molto simile a ihave ma l'operazione è divisa in due parti così che un feed può spedire 100 check e poi inviare il comando "takethis" seguito dagli articoli che il server vuole.

Takethis: vedi sopra

Xover: è stato aggiunto per permettere di mostrare un elenco di articoli in un gruppo per essere mostrati senza scaricare l'header informativo per ogni articolo nel gruppo.
Esempio:
xover 1200-1400
Il server risponde con 200 linee, ognuna contiene i campi dell'header di ogni messaggio.

Head: seguito dal numero del messaggio o dal Message ID mostra l'header del messaggio.

Body: seguito dal numero del messaggio o dal Message ID mostra il body del mesaggio.

Next: Mostra l'articolo seguente.

Last: Mostra l'ultimo articolo.

Stat: Simile ad Article ma non viene riportato nessun testo. Serve solo per "puntare", per indicare un articolo ed in seguito si potranno fare delle operazioni con lo stesso articolo come per esempio Body o Head.

Newsgroups: seguito dai parametri date o time nel formato rispettivamente YYMMDD e HHMMSS da la lista dei gruppi creati dopo quel giorno e/o ora.

Newnews: seguito dai parametri date e/o time nel formato come per Newsgroups indica i Message IDs degli articolo postati in quel gruppo dopo quella data e/o ora. Valgono i caratteri jolly. Per esempio Nwenews alt.comp* 990622 elenca tutti gli articoli dei gruppi alt.comp.freeware, alt.comp.shareware ecc. postati dopo il giorno 22 Giugno del 1999.

Quit: Chiude la conversazione col server.

Slave: Indica che la macchina che si sta collegando non è un utente nè un feed ma è uno slave, letteralmente schiavo di quel server. Viene utilizzato nel caso che ci siano più news server.

Per qualsiasi altra informazione consultare la RFC 977 e 1036 dove si può trovare la spiegazione e le implementazioni dei più comuni comandi NNTP.

Indice News Server Pubblici