Le Network News Transfer Protocol (NNTP) est utilisé pour la distribution, la recherche, la récupération et la publication d'articles de presse à l'aide d'un mécanisme fiable basé sur le flux, généralement TCP/IP. Il facilite l'échange de messages d'actualité et d'articles entre servers et entre clients et servers dans un réseau.
Qu'est-ce que le protocole NNTP (Network News Transfer Protocol) ?
NNTP est un application protocole de couche qui permet la distribution, la recherche et la récupération efficaces d'articles de presse à partir de diverses actualités bases de données et des forums sur Internet et Usenet. Conçu pour être utilisé sur les réseaux TCP/IP, NNTP prend en charge client-server ainsi que server-server opérations, ce qui le rend hautement évolutif et flexible pour la distribution de nouvelles.
Bref historique du NNTP
Le NNTP a été développé dans les années 1980 pour améliorer l'UUCP (UNIX-to-Unix Copy Protocol) pour la distribution d'articles d'actualité sur le réseau Usenet, un système de discussion mondial. La première spécification, RFC 977, a été publiée en 1986, décrivant le cadre et le fonctionnement initial de NNTP. Au fil des années, NNTP a subi des révisions et des mises à jour pour améliorer les performances, la sécurité et les capacités, avec des mises à jour notables, notamment la RFC 3977, qui a normalisé le protocole en 2006.
NNTP (Network News Transfer Protocol) continue d'occuper une place de niche mais importante dans le paysage de la communication numérique, en particulier pour les groupes de discussion Usenet. Malgré l'essor de formes plus modernes de communication numérique telles que les plateformes de médias sociaux, les forums et les applications de messagerie, NNTP et Usenet servent une base d'utilisateurs dédiée avec des intérêts et des besoins spécifiques.
Comment fonctionne le NNTP ?
NNTP fonctionne sur un client-server modèle dans lequel un client demande des articles d'actualité à partir de web servers héberger et distribuer des groupes de discussion. Chaque groupe de discussion se concentre sur un sujet spécifique et les articles qu'il contient sont distribués sous forme de messages. Lorsqu'un utilisateur s'abonne à un groupe de discussion, le client NNTP récupère la liste des articles disponibles dans le server. Les utilisateurs peuvent ensuite sélectionner les articles à lire, publier de nouveaux articles ou répondre à ceux existants. NNTP serverLes utilisateurs peuvent également communiquer entre eux pour propager des articles de groupes de discussion sur Internet, garantissant ainsi que les articles sont largement distribués et disponibles.
Où le NNTP est-il utilisé ?
NNTP est principalement utilisé dans le système Usenet, une collection de groupes de discussion couvrant un large éventail de sujets. Il est utilisé pour distribuer des articles d’actualité, participer à des discussions et partager des informations dans différents domaines. Bien qu'éclipsés par les plateformes de médias sociaux au cours des dernières décennies, Usenet et NNTP restent populaires pour des applications spécifiques, notamment la distribution de logiciels, les discussions techniques et la communication académique.
Commandes NNTP et codes d'état
Voici deux tableaux qui décrivent les capacités du protocole NNTP et les server réponses que l'on pourrait rencontrer lors de l'interaction avec un NNTP server.
Tableau des commandes NNTP
Les commandes NNTP sont des instructions envoyées d'un client à un NNTP server pour effectuer des actions spécifiques, telles que publier des articles ou les récupérer.
Command | Description |
ARTICLE | Récupère un article spécifique à l’aide d’un numéro d’article ou d’un ID de message. |
BODY | Récupère le corps d’un article spécifique. |
HEAD | Récupère l’en-tête d’un article spécifique. |
STAT | Vérifie l'existence d'un article spécifique sans le télécharger. |
GROUP | Sélectionne un groupe de discussion et renvoie des informations sur le groupe. |
LIST | Répertorie les groupes de discussion disponibles, les groupes de discussion actifs ou des informations les concernant. |
NEWGROUPS | Répertorie les groupes de discussion créés après une date et une heure spécifiées. |
POST | Publie un article dans un groupe de discussion. |
QUIT | Termine la session avec le NNTP server. |
IHAVE | Informe le server à propos d'un article qu'un client possède et que le server peut-être pas. |
HELP | Renvoie le texte d'aide du server. |
LAST | Déplace le pointeur de l’article actuel vers l’article précédent du groupe. |
NEXT | Déplace le pointeur de l’article actuel vers l’article suivant du groupe. |
LISTGROUP | Répertorie les articles disponibles dans un groupe de discussion spécifié. |
MODE READER | Commute le server en mode lecteur, nécessaire pour certains servers. |
XOVER | Récupère une gamme d’en-têtes d’articles dans un format compact. |
XHDR | Récupère des informations d’en-tête spécifiques à partir d’une gamme d’articles. |
Tableau des codes d'état NNTP
Service servers utiliser les codes d'état pour indiquer le résultat de la commande d'un client, en fournissant des commentaires sur le succès de l'opération ou en détaillant les erreurs rencontrées.
Code d'état | Sens |
100 | Le texte d’aide suit (réponse informative). |
200 | Service disponible, publication autorisée (message de bienvenue). |
201 | Service disponible, aucune publication autorisée (message de bienvenue). |
211 | Groupe sélectionné ; les informations suivent. |
215 | Les informations suivent (en réponse à LIST, NEWGROUPS, etc.). |
220 | L'article suit (en réponse à ARTICLE, HEAD, BODY ou STAT). |
221 | L’en-tête suit (en réponse à XHDR). |
222 | Le corps suit (en réponse à la commande BODY). |
223 | L'article existe (en réponse à STAT). |
230 | De nouveaux articles suivent (en réponse à NEWNEWS). |
231 | De nouveaux groupes de discussion suivent (en réponse à NEWGROUPS). |
281 | Authentification acceptée. |
400 | Service temporairement indisponible (server peut s'arrêter). |
411 | Aucun groupe de discussion de ce type (impossible de sélectionner un groupe). |
412 | Aucun groupe de discussion sélectionné (il faut d'abord en sélectionner un). |
420 | Aucun article actuel sélectionné (pour les commandes NEXT, LAST). |
421 | Pas d'article suivant (dans ce groupe). |
430 | Aucun article de ce type n'a été trouvé. |
440 | Publication non autorisée (en réponse au POST). |
441 | La publication a échoué (article non publié). |
480 | Authentification requise pour la commande. |
500 | Commande non reconnue ou erreur de syntaxe. |
502 | Service indisponible en permanence ou sans autorisation. |