Il Network News Transfer Protocol (NNTP) viene utilizzato per la distribuzione, la richiesta, il recupero e la pubblicazione di articoli di notizie utilizzando un meccanismo affidabile basato sul flusso, solitamente TCP/IP. Facilita lo scambio di messaggi di notizie e articoli tra servers e tra i clienti e servers in una rete.
Che cos'è il protocollo NNTP (Network News Transfer Protocol)?
NNTP è un applicazione protocollo di livello che consente la distribuzione, l'interrogazione e il recupero efficienti di articoli di notizie da varie notizie banche dati e forum su Internet e Usenet. Progettato per essere utilizzato su reti TCP/IP, supporta NNTP cliente-server e server-server operazioni, rendendolo altamente scalabile e flexdisponibile per la distribuzione delle notizie.
Breve storia dell'NNTP
L'NNTP è stato sviluppato negli anni '1980 per migliorare l'UUCP (UNIX-to-Unix Copy Protocol) per la distribuzione di articoli di notizie sulla rete Usenet, un sistema di discussione globale. La prima specifica, RFC 977, fu pubblicata nel 1986, delineando la struttura e il funzionamento iniziali dell'NNTP. Nel corso degli anni, NNTP è stato sottoposto a revisioni e aggiornamenti per migliorare prestazioni, sicurezza e capacità, con aggiornamenti degni di nota tra cui RFC 3977, che ha standardizzato il protocollo nel 2006.
NNTP (Network News Transfer Protocol) continua a occupare un posto di nicchia ma significativo nel panorama della comunicazione digitale, in particolare per i newsgroup Usenet. Nonostante l’ascesa di forme più moderne di comunicazione digitale come piattaforme di social media, forum e app di messaggistica, NNTP e Usenet servono una base di utenti dedicata con interessi ed esigenze specifici.
Come funziona l'NNTP?
NNTP opera su un client-server modello da cui un client richiede articoli di notizie sito web servers hosting e distribuzione di newsgroup. Ogni newsgroup si concentra su un argomento specifico e gli articoli al loro interno vengono distribuiti come messaggi. Quando un utente si iscrive a un newsgroup, il client NNTP recupera l'elenco degli articoli disponibili dal file server. Gli utenti possono quindi selezionare gli articoli da leggere, pubblicare nuovi articoli o rispondere a quelli esistenti. NNTP servers possono anche comunicare tra loro per propagare articoli di newsgroup su Internet, garantendone un'ampia distribuzione e disponibilità.
Dove viene utilizzato l'NNTP?
NNTP viene utilizzato principalmente nel sistema Usenet, una raccolta di newsgroup che coprono un'ampia gamma di argomenti. Viene utilizzato per distribuire articoli di notizie, partecipare a discussioni e condividere informazioni tra domini diversi. Sebbene siano stati messi in ombra dalle piattaforme di social media negli ultimi decenni, Usenet e NNTP rimangono popolari per applicazioni specifiche, tra cui la distribuzione di software, le discussioni tecniche e la comunicazione accademica.
Comandi NNTP e codici di stato
Di seguito sono riportate due tabelle che descrivono le funzionalità del protocollo NNTP e il file server risposte che si potrebbero incontrare durante l'interazione con un NNTP server.
Tabella dei comandi NNTP
I comandi NNTP sono istruzioni inviate da un client a un NNTP server per eseguire azioni specifiche, come pubblicare articoli o recuperarli.
Comando | Descrizione |
ARTICLE | Recupera un articolo specifico utilizzando un numero di articolo o un ID messaggio. |
BODY | Recupera il corpo di un articolo specifico. |
HEAD | Recupera l'intestazione di un articolo specifico. |
STAT | Verifica l'esistenza di un articolo specifico senza scaricarlo. |
GROUP | Seleziona un newsgroup e restituisce informazioni sul gruppo. |
LIST | Elenca i newsgroup disponibili, i newsgroup attivi o le informazioni su di essi. |
NEWGROUPS | Elenca i newsgroup creati dopo una data e un'ora specificate. |
POST | Pubblica un articolo in un newsgroup. |
QUIT | Termina la sessione con NNTP server. |
IHAVE | Informa il server su un articolo che un cliente ha che server potrebbe non essere. |
HELP | Restituisce il testo di aiuto da server. |
LAST | Sposta il puntatore dell'articolo corrente all'articolo precedente nel gruppo. |
NEXT | Sposta il puntatore dell'articolo corrente all'articolo successivo nel gruppo. |
LISTGROUP | Elenca gli articoli disponibili in un newsgroup specificato. |
MODE READER | Commuta il server alla modalità lettore, necessaria per alcuni servers. |
XOVER | Recupera una serie di intestazioni di articolo in un formato compatto. |
XHDR | Recupera informazioni di intestazione specifiche da una serie di articoli. |
Tabella dei codici di stato NNTP
Servizi servers utilizzare i codici di stato per indicare l'esito di un comando del client, fornendo un feedback sul successo dell'operazione o specificando gli errori riscontrati.
Codice di stato | Significato |
100 | Segue il testo della guida (risposta informativa). |
200 | Servizio disponibile, pubblicazione consentita (messaggio di saluto). |
201 | Servizio disponibile, non è consentito pubblicare messaggi (messaggio di saluto). |
211 | Gruppo selezionato; seguono le informazioni. |
215 | Seguono le informazioni (in risposta a LIST, NEWGROUPS, ecc.). |
220 | Segue l'articolo (in risposta a ARTICLE, HEAD, BODY o STAT). |
221 | Segue l'intestazione (in risposta a XHDR). |
222 | Il corpo segue (in risposta al comando BODY). |
223 | L'articolo esiste (in risposta a STAT). |
230 | Seguono nuovi articoli (in risposta a NEWNEWS). |
231 | Seguono nuovi newsgroup (in risposta a NEWGROUPS). |
281 | Autenticazione accettata. |
400 | Servizio temporaneamente non disponibile (server potrebbe spegnersi). |
411 | Nessun newsgroup di questo tipo (impossibile selezionare il gruppo). |
412 | Nessun newsgroup selezionato (è necessario selezionarne prima uno). |
420 | Nessun articolo corrente selezionato (per i comandi NEXT, LAST). |
421 | Nessun articolo successivo (in questo gruppo). |
430 | Nessun articolo del genere trovato. |
440 | Inserimento non consentito (in risposta al POST). |
441 | Inserimento non riuscito (articolo non pubblicato). |
480 | Autenticazione richiesta per il comando. |
500 | Comando non riconosciuto o errore di sintassi. |
502 | Servizio permanentemente non disponibile o nessuna autorizzazione. |