Wat is een server? Een duidelijke gids voor app-bouwers
Een server is een computer, of een programma dat op een computer draait, dat wacht op verzoeken en die beantwoordt. Wanneer je een website opent, stuurt je browser (de client) een verzoek over het internet, en stuurt een server ergens de pagina, de afbeeldingen of de gegevens terug. Elke app die je gebruikt, van e-mail tot internetbankieren, is afhankelijk van servers die dit miljoenen keren per dag doen.
Waarom servers ertoe doen als je met AI bouwt
Wanneer een AI-bouwer een app voor je maakt, draait een deel van de code in de browser van de bezoeker en draait een deel meestal op een server. Het serverdeel doet de dingen waarop de browser niet kan worden vertrouwd of die hij niet alleen kan:
- Gegevens opslaan en laden uit een database.
- Geheimen bewaren, zoals API-sleutels van betaal- of AI-providers, die nooit de browser mogen bereiken.
- Rechten controleren: zorgen dat een gebruiker alleen zijn eigen gegevens kan zien en wijzigen.
- Met andere diensten praten: een kaart belasten, een e-mail versturen, een AI-model aanroepen.
Weten wat de server doet, helpt je begrijpen waar de regels van je app echt zitten, waarom sommige wijzigingen opnieuw publiceren vragen, en waarvoor je betaalt wanneer je een app host. Voor de splitsing tussen beide helften, zie frontend versus backend.
Een alledaagse vergelijking
Een server is als het loket op het postkantoor. Hij gaat niet op zoek naar klanten; hij wacht. Een klant (de client) komt binnen met een verzoek, zoals “dit pakketje versturen” of “heb ik post?”, en de medewerker handelt het af en geeft een resultaat terug. Eén medewerker kan de ene klant na de andere helpen, en een druk postkantoor opent meer loketten.
Het postkantoor heeft ook regels die de klant niet kan omzeilen: je moet je legitimeren om een pakketje op te halen. Dat is in een app ook de taak van de server: de browser kan om alles vragen, maar de server beslist wat hij krijgt.
Hoe een verzoek een server bereikt
Wanneer iemand https://bookings.example.com/schedule bezoekt:
- DNS-opzoeking. De browser vraagt het domeinnaamsysteem naar welk IP-adres
bookings.example.comverwijst. Zie hoe domeinen en DNS werken. - Verbinding. De browser verbindt met dat adres, op poort 443 voor HTTPS, en zet een versleutelde verbinding op. Zie wat HTTPS is.
- Verzoek. Hij stuurt een HTTP-verzoek:
GET /schedule. - Werk. De server draait de code die
/scheduleafhandelt, misschien het opzoeken van de boekingen van vandaag in de database. - Antwoord. Hij stuurt een statuscode (
200 OK) en de inhoud terug: een HTML-pagina, of JSON-gegevens die de pagina toont.
Dat duurt meestal een fractie van een seconde.
Soorten servers die je tegenkomt
| Begrip | Betekenis |
|---|---|
| Webserver | Software die HTTP-verzoeken beantwoordt: bestanden versturen of verzoeken doorgeven aan de code van je app. |
| Applicatieserver / backend | Je eigen code op een server: de API die boekingen, inloggen en betalingen afhandelt. |
| Databaseserver | Een server wiens taak het opslaan en bevragen van gegevens is, zoals de Postgres-database waarmee je app praat. |
| Bestands- / statische server | Verstuurt kant-en-klare bestanden (HTML, afbeeldingen, scripts) zonder voor elk verzoek eigen code te draaien. |
| Fysieke server | Een echte machine in een rek in een datacenter. |
| Virtuele machine (VM) / VPS | Een stuk van een fysieke machine dat zich gedraagt als een eigen computer. |
| Container | Een lichter pakket met een app en alles wat hij nodig heeft, draaiend op een gedeelde machine. Veel platforms deployen apps zo. |
| Serverless | Je uploadt code en de provider draait die op aanvraag, op servers die je nooit beheert. Zie wat serverless betekent. |
Let op dat “server” zowel de machine als het programma betekent. “De server is gecrasht” kan allebei betekenen.
Een uitgewerkt voorbeeld: een boekingsapp voor een kapsalon
Hier is wat de server doet in een kleine boekingsapp voor een kapsalon:
- Een bezoeker opent de site. De server (of een CDN ervoor) stuurt de paginabestanden.
- De pagina vraagt de server
GET /api/slots?date=2026-10-03. De server bevraagt de database op vrije tijdsloten en geeft ze terug als JSON. - De bezoeker boekt 14:00. De pagina stuurt
POST /api/bookings. De server controleert of het tijdslot nog vrij is, want hij vertrouwt de browser daarop niet; hij slaat de boeking op en antwoordt met201 Created. - De server roept een e-mailservice aan met een geheime sleutel, die op de server is opgeslagen, om een bevestiging te sturen.
Als je de server uitzette, zou de pagina misschien nog steeds laden vanaf een CDN, maar hij zou geen tijdsloten kunnen tonen of boekingen kunnen opslaan.
Wat een server nodig heeft om goed te draaien
- Geheugen (RAM) en CPU. Te weinig geheugen en de app crasht onder belasting; te weinig CPU en hij wordt traag.
- Dat hij draait. Een server die uit staat, kan niet antwoorden. Sommige platforms zetten ongebruikte apps in de slaapstand en wekken ze bij het volgende bezoek, wat geld bespaart maar het eerste verzoek trager kan maken.
- Configuratie en geheimen, geleverd als omgevingsvariabelen.
- Logs: het logboek van de server van wat er is gebeurd, waar je als eerste kijkt wanneer iets misgaat.
- Updates en beveiligingspatches, die beheerde hosting voor je afhandelt.
Veelvoorkomende misverstanden
- “De cloud betekent geen servers.” De cloud zijn de servers van andere bedrijven, gehuurd per uur of per gebruik.
- “Een server is een grote speciale computer.” Elke computer kan als server dienen. Je laptop draait er een wanneer je
localhostopent tijdens het ontwikkelen. - “Als de knop verborgen is, kunnen gebruikers het niet doen.” Iedereen kan verzoeken rechtstreeks naar je server sturen. Rechtencontroles moeten op de server gebeuren, niet alleen in de pagina.
- “Meer servers lossen traagheid op.” Vaak is de echte oorzaak een trage databasequery of een externe API. Zoek eerst het knelpunt.
- “Ik moet een server beheren om een app te hebben.” Beheerde platforms draaien de servers voor je; jij deployt code en zij beheren de machines.
Wat je aan je AI-appbouwer kunt vragen
- “Welke delen van deze app draaien op de server, en welke in de browser?”
- “Houd alle API-sleutels op de server en lees ze uit omgevingsvariabelen.”
- “Controleer rechten op de server voor elk verzoek dat gegevens leest of wijzigt.”
- “Waar vind ik de serverlogs, en wat zeggen ze over deze fout?”
- “Heeft deze app überhaupt een server nodig, of kan het een statische site zijn?”
- “Wat gebeurt er met het eerste verzoek nadat de app een tijdje inactief is geweest?”
Servers in Mythex
In Mythex beheer je geen servers en stel je ze niet in. Tijdens het bouwen draait je app in een eigen cloud-sandbox voor de live preview. Wanneer je publiceert, deployt Mythex hem: statische frontends als statische sites, backends (Node, Python, C#, Java en andere) als containers die uit een Dockerfile zijn gebouwd, zonder dat je zelf hosting hoeft in te stellen. Mythex kiest de machinegrootte bij het deployen: standaard 1 CPU en 512 MB geheugen, met meer beschikbaar op verzoek (tot 1 GB op Free, en tot 2 CPU’s, 4 GB en 3 machines op Pro). Gepubliceerde apps gaan slapen wanneer ze inactief zijn en worden wakker bij het volgende bezoek, en een slapende app kost geen rekenkracht. Details staan in de documentatie over API-backends en hostinglimieten, en onze gids over webhosting geeft het bredere beeld.
Veelgestelde vragen
Wat is een server in het kort?
Een server is een computer, of een programma dat erop draait, dat wacht op verzoeken van andere apparaten en die beantwoordt. Wanneer je een website opent, vraagt je browser een server om de pagina, en de server stuurt die terug.
Is een server een fysiek apparaat of software?
Beide betekenissen worden gebruikt. “Server” kan de fysieke of virtuele computer betekenen, of het programma erop dat verzoeken afhandelt, zoals een webserver. De meeste apps van vandaag draaien op virtuele machines of containers in het datacenter van een cloudprovider, niet op hardware die je zelf bezit.
Heeft elke website een server nodig?
Ja, er moet altijd iets zijn dat de bestanden naar de bezoeker stuurt. Een statische website heeft alleen een eenvoudige bestandsserver of een CDN nodig. Een app die gegevens opslaat, inloggen afhandelt of geheime API-sleutels bewaart, heeft ook een backendserver nodig die je eigen code draait.
Wat betekent localhost?
Localhost betekent “deze zelfde computer”. Een ontwikkelaar die een app op zijn eigen machine draait, opent hem op een adres als http://localhost:3000. Alleen die computer kan erbij; niemand anders kan hem zien totdat hij op een publieke server is gedeployd.