Het Network News Transfer Protocol (NNTP) wordt gebruikt voor het distribueren, opvragen, ophalen en plaatsen van nieuwsartikelen met behulp van een betrouwbaar, op streams gebaseerd mechanisme, meestal TCP/IK P. Het vergemakkelijkt de uitwisseling van nieuwsberichten en artikelen tussen servers en tussen klanten en servers in een netwerk.
Wat is Network News Transfer Protocol (NNTP)?
NNTP is een toepassing laagprotocol dat de efficiënte distributie, opvraging en het ophalen van nieuwsartikelen uit verschillende nieuwssoorten mogelijk maakt databanken en forums op internet en Usenet. Ontworpen voor gebruik via TCP/IP-netwerken, ondersteunt NNTP cliënt-server en server-server operaties, waardoor het zeer schaalbaar is flexgeschikt voor nieuwsverspreiding.
Korte geschiedenis van NNTP
NNTP werd in de jaren tachtig ontwikkeld om de UUCP te verbeteren (UNIX-to-Unix Copy Protocol) voor het verspreiden van nieuwsartikelen via het Usenet-netwerk, een wereldwijd discussiesysteem. De eerste specificatie, RFC 977, werd in 1986 gepubliceerd en schetste het oorspronkelijke raamwerk en de werking van NNTP. In de loop der jaren heeft NNTP herzieningen en updates ondergaan om de prestaties, beveiliging en mogelijkheden te verbeteren, met opmerkelijke updates waaronder RFC 3977, die het protocol in 2006 standaardiseerde.
NNTP (Network News Transfer Protocol) blijft een niche maar belangrijke plaats innemen in het digitale communicatielandschap, vooral voor Usenet-nieuwsgroepen. Ondanks de opkomst van modernere vormen van digitale communicatie, zoals socialemediaplatforms, forums en berichtenapps, bedienen NNTP en Usenet een toegewijde gebruikersbasis met specifieke interesses en behoeften.
Hoe werkt NNTP?
NNTP werkt op een client-server model waar een klant nieuwsartikelen opvraagt web servers het hosten en distribueren van nieuwsgroepen. Elke nieuwsgroep richt zich op een specifiek onderwerp en de artikelen daarin worden als berichten verspreid. Wanneer een gebruiker zich abonneert op een nieuwsgroep, haalt de NNTP-client de lijst met beschikbare artikelen op uit de server. Gebruikers kunnen vervolgens artikelen selecteren om te lezen, nieuwe artikelen plaatsen of reageren op bestaande artikelen. NNTP servers kunnen ook met elkaar communiceren om nieuwsgroepartikelen over het internet te verspreiden, waardoor wordt verzekerd dat artikelen op grote schaal worden verspreid en beschikbaar zijn.
Waar wordt NNTP gebruikt?
NNTP wordt voornamelijk gebruikt in het Usenet-systeem, een verzameling nieuwsgroepen die een breed scala aan onderwerpen bestrijken. Het wordt gebruikt voor het verspreiden van nieuwsartikelen, deelnemen aan discussies en het delen van informatie tussen verschillende domeinen. Hoewel ze de afgelopen decennia overschaduwd zijn door sociale mediaplatforms, blijven Usenet en NNTP populair voor specifieke toepassingen, waaronder softwaredistributie, technische discussies en academische communicatie.
NNTP-opdrachten en statuscodes
Hier zijn twee tabellen die de mogelijkheden van het NNTP-protocol beschrijven en de server reacties die u kunt tegenkomen tijdens de interactie met een NNTP server.
Tabel met NNTP-opdrachten
NNTP-opdrachten zijn instructies die van een client naar een NNTP worden verzonden server om specifieke acties uit te voeren, zoals het plaatsen van artikelen of het ophalen ervan.
commando | Omschrijving |
ARTICLE | Haalt een specifiek artikel op met behulp van een artikelnummer of bericht-ID. |
BODY | Haalt de hoofdtekst van een specifiek artikel op. |
HEAD | Haalt de koptekst van een specifiek artikel op. |
STAT | Controleert het bestaan ​​van een specifiek artikel zonder het te downloaden. |
GROUP | Selecteert een nieuwsgroep en retourneert informatie over de groep. |
LIST | Geeft een overzicht van beschikbare nieuwsgroepen, actieve nieuwsgroepen of informatie daarover. |
NEWGROUPS | Geeft een overzicht van nieuwsgroepen die na een bepaalde datum en tijd zijn gemaakt. |
POST | Plaatst een artikel in een nieuwsgroep. |
QUIT | Beëindigt de sessie met de NNTP server. |
IHAVE | Informeert de server over een artikel dat een klant heeft dat de server misschien niet. |
HELP | Retourneert helptekst van de server. |
LAST | Verplaatst de huidige artikelaanwijzer naar het vorige artikel in de groep. |
NEXT | Verplaatst de huidige artikelaanwijzer naar het volgende artikel in de groep. |
LISTGROUP | Geeft een overzicht van de artikelen die beschikbaar zijn in een opgegeven nieuwsgroep. |
MODE READER | Schakelt de server naar de leesmodus, voor sommigen noodzakelijk servers. |
XOVER | Haalt een reeks artikelkoppen op in een compact formaat. |
XHDR | Haalt specifieke kopinformatie op uit een reeks artikelen. |
Tabel met NNTP-statuscodes
Service servers gebruiken statuscodes om de uitkomst van de opdracht van een klant aan te geven, waarbij feedback wordt gegeven over het succes van de operatie of waarin de fouten worden beschreven die zijn aangetroffen.
Statuscode | Betekenis |
100 | Er volgt een helptekst (informatief antwoord). |
200 | Service beschikbaar, posten toegestaan ​​(begroetingsbericht). |
201 | Service beschikbaar, posten niet toegestaan ​​(begroetingsbericht). |
211 | Groep geselecteerd; informatie volgt. |
215 | Informatie volgt (naar aanleiding van LIST, NEWGROUPS, etc.). |
220 | Artikel volgt (in reactie op ARTIKEL, HOOFD, LICHAAM of STAT). |
221 | Header volgt (in reactie op XHDR). |
222 | Lichaam volgt (in reactie op BODY-commando). |
223 | Artikel bestaat (naar aanleiding van STAT). |
230 | Nieuwe artikelen volgen (naar aanleiding van NIEUWNIEUWS). |
231 | Nieuwe nieuwsgroepen volgen (naar aanleiding van NEWGROUPS). |
281 | Authenticatie geaccepteerd. |
400 | Dienst tijdelijk niet beschikbaar (server kan afsluiten). |
411 | Een dergelijke nieuwsgroep bestaat niet (kan geen groep selecteren). |
412 | Geen nieuwsgroep geselecteerd (u moet er eerst een selecteren). |
420 | Geen huidig ​​artikel geselecteerd (voor VOLGENDE, LAATSTE commando's). |
421 | Geen volgend artikel (in deze groep). |
430 | Er is geen dergelijk artikel gevonden. |
440 | Posten niet toegestaan ​​(naar aanleiding van POST). |
441 | Plaatsen mislukt (artikel niet geplaatst). |
480 | Authenticatie vereist voor opdracht. |
500 | Commando niet herkend of syntaxisfout. |
502 | Dienst permanent niet beschikbaar of geen toestemming. |