Wat is een node? De betekenissen uitgelegd
Auteur: Redactie Domeny.ForSale Gepubliceerd
Kort samengevat: Node betekent in het Engels ‘knooppunt’: een onderdeel van een netwerk of structuur dat verbinding kan maken met andere onderdelen. In de informatica kan het gaan om een apparaat in een netwerk, een deelnemer aan een blockchainnetwerk of een onderdeel van een webdocument. In gesprekken over programmeren verwijst ‘Node’ vaak naar Node.js, de runtime-omgeving voor JavaScript die buiten de browser werkt. De context bepaalt welke betekenis bedoeld wordt.
Node als knooppunt in een computernetwerk
In een computernetwerk is een node een onderdeel dat deelneemt aan de communicatie: het verzendt, ontvangt of stuurt gegevens door. Dat kan een laptop, server, netwerkprinter of router zijn. Het hoeft echter geen afzonderlijk fysiek apparaat te zijn: in sommige systemen is een knooppunt een virtuele machine of een actief proces.
In een thuisnetwerk zijn de laptop en printer voorbeelden van eindknooppunten, terwijl de router netwerken verbindt en verkeer ertussen doorstuurt. De term ‘node’ zegt dus op zichzelf niets over de functie van het apparaat of de hoeveelheid rekenkracht. Het is een algemene aanduiding voor de plaats ervan in een bepaald systeem.
Een vergelijkbare betekenis kom je tegen bij clouddiensten en clusters. Een cluster is een groep samenwerkende computerbronnen. In Kubernetes, een systeem dat applicaties in containers beheert, is een node bijvoorbeeld een fysieke of virtuele machine waarop applicatietaken kunnen draaien. ‘Het cluster heeft drie knooppunten’ betekent niet dat het slechts drie websites of drie applicaties kan ondersteunen.
Node.js: JavaScript buiten de browser
Node.js is een runtime-omgeving: software waarmee code kan worden uitgevoerd. Daarmee kan JavaScript buiten de browser draaien, bijvoorbeeld op een server of lokaal op de computer van een ontwikkelaar. Node.js is geen afzonderlijke programmeertaal en ook geen framework, oftewel een verzameling hulpmiddelen en regels die de bouw van een applicatie structureren.
Met Node.js kun je onder meer applicatieservers, terminalhulpmiddelen en scripts maken die werkzaamheden automatiseren. Het wordt ook vaak gebruikt voor een API: een interface waarmee programma’s gegevens uitwisselen. Een webwinkel kan bijvoorbeeld bij een Node.js-applicatie opvragen of een product beschikbaar is. Die applicatie leest de voorraad uit de database en stuurt een antwoord terug.
Node.js is ontworpen om invoer- en uitvoerbewerkingen, zoals netwerkcommunicatie en het lezen van gegevens, efficiënt af te handelen. Dat betekent niet dat het automatisch elke taak versnelt. Langdurige, synchrone berekeningen kunnen de afhandeling van andere taken binnen hetzelfde proces blokkeren. Bij het ontwerpen van de applicatie moet je daar dus rekening mee houden.
Als de instructies voor een project zeggen ‘installeer Node’, gaat het vrijwel zeker om Node.js. Met het commando node --version in de terminal kun je controleren welke versie beschikbaar is, en node app.js voert het bestand app.js uit. Bij Node.js wordt vaak npm gebruikt, een pakketbeheerder voor het installeren van bibliotheken en het uitvoeren van projectscripts. Controleer vóór de installatie de projectvereisten en de informatie over ondersteunde versies in de officiële documentatie van Node.js.
Een node in een blockchain is niet altijd een miner
In een blockchainnetwerk is een node een draaiende instantie van software die gegevens uitwisselt volgens de regels van het betreffende protocol. Een blockchain is een gegevensregister dat is opgebouwd uit gekoppelde blokken. De deelnemers aan het netwerk houden kopieën ervan bij. Knooppunten kunnen transacties en blokken ontvangen, controleren en doorsturen.
De precieze rol hangt af van het netwerk en het type knooppunt. Een volledig knooppunt controleert gegevens zelfstandig volgens de protocolregels, maar hoeft niet alle historische gegevens onbeperkt te bewaren. Ook is niet elk knooppunt een miner of een validator die deelneemt aan het maken van blokken.
Het draaien van een knooppunt garandeert geen vergoeding. Als je dit overweegt, controleer dan eerst in de officiële documentatie van het netwerk welke rol het knooppunt heeft, welke hardware nodig is en hoeveel schijfruimte en bandbreedte het gebruikt. Eventuele beloningen hangen samen met specifieke functies en protocolregels, niet met het enkele gebruik van het woord ‘node’.
Node in datastructuren en op een webpagina
In datastructuren betekent node een afzonderlijk onderdeel van een groter geheel. Een knooppunt kan een waarde en verwijzingen naar andere knooppunten bevatten. Zo worden onder meer bomen, gekoppelde lijsten en grafen beschreven: structuren waarmee hiërarchieën of relaties worden weergegeven.
Een eenvoudig voorbeeld is de categorieboom van een winkel: ‘Elektronica’ heeft de subcategorie ‘Computers’, met daaronder ‘Laptops’. Elk van deze categorieën kan door een knooppunt worden weergegeven. De verbindingen laten zien welke categorie boven een andere staat, niet waar fysieke kabels lopen of hoe servers met elkaar communiceren.
In de browser kom je ook het DOM tegen, het documentobjectmodel. Dit geeft het webdocument weer als een boom van knooppunten die JavaScript kan uitlezen en wijzigen. Een knooppunt kan een HTML-element, tekst of een commentaar zijn. Daarom zijn ‘node’ en ‘element’ niet altijd onderling uitwisselbaar: de tekst binnen een alinea is een knooppunt, maar geen afzonderlijk HTML-element.
Hoe herken je de juiste betekenis?
De beste aanwijzingen zijn de omliggende woorden en de handeling die je moet uitvoeren:
- ‘Installeer Node’,
npm,package.json— meestal gaat het om Node.js en de hulpmiddelen van een JavaScript-project. - ‘Adres van het knooppunt’, router, netwerkverbinding — het gaat om een deelnemer aan een computernetwerk.
- Cluster, Kubernetes, bronnen van het knooppunt — het gaat om een machine die binnen een groter systeem werkt.
- Blokken, transacties, synchronisatie van de keten — het gaat om een knooppunt in een blockchainnetwerk.
- DOM, ouder, kind, tekstknooppunt — het gaat om een onderdeel van de documentstructuur.
Als een melding alleen ‘node niet beschikbaar’ zegt, controleer dan welk programma die melding weergeeft. Het installeren van Node.js verhelpt een onbereikbaar clusterknooppunt niet. Stel eerst vast of de melding betrekking heeft op de ontwikkelomgeving, een machine of de netwerkverbinding.
Zie ook: Wat is AGI?
