In dit artikel leg ik simpel uit wat de klassieke opzet is van een server en hoe de server samenwerkt met de webbrowser om websites te tonen. Dit artikel behandelt:
- Soorten computers: persoonlijke computer en server
- Hardware: de electronica
- Programma’s: webserver en webbrowser
- Besturingssysteem: Linux, Microsoft Windows, OS X
- LAMP: klassieke opzet van een server
Soorten computers: persoonlijke computer en server
Er zijn verschillende soorten computers, zoals de persoonlijke computer en de spelcomputer die veel van ons thuis hebben staan. Daarnaast zijn er nog computers om websites op te plaatsen, dit noemen we servers. De meeste webdevelopers hebben geen eigen server waar ze websites op plaatsen, en huren daarom een server via webhosting.
Hardware: de electronica
Het grootste gedeelte van een computer is natuurlijk alle electronica. Dit noemen we hardware. Een persoonlijke computer dient natuurlijk een heel ander doel dan een server. Je ziet dan ook vaak dat servers worden voorzien van aangepaste hardware.
Programma’s: webserver en webbrowser
Op een computer kun je programma’s installeren. Op een persoonlijke computer bijvoorbeeld een tekstverwerker (Word), een boekhoudprogramma of een webbrowser (Chrome, Internet Explorer, Safari, Firefox). In het kader van webdevelopment is het belangrijk te begrijpen wat een webbrowser doet. De webbrowser is immers het programma waarmee websites bekeken kunnen worden. Een webbrowser noemen we ook wel een client.
Als jij in de webbrowser een website opvraagt via de adresbalk, gaat de webbrowser contact leggen met de server via het internet. Contact met de server is noodzakelijk, omdat daar immers alle websitebestanden staan opgeslagen. De webbrowser vraagt in dit contact alle websitebestanden op bij de de server. De server reageert met het sturen van de bestanden naar de webbrowser zodat deze jou de opgevraagde website kan laten zien.
De server kan deze verzoeken van de webbrowser niet zelf verwerken. Hiervoor moet op de server ook een programma geïnstalleerd worden. Verwarrend genoeg noemen we dat ook een server, maar meer specifiek een webserver. Om het nog verwarrender te maken, wordt soms de gehele computer ook aangeduid als webserver. In dit artikel spreken we over een server als we de computer bedoelen, en over webserver als we het programma dat nodig is om te communiceren met de webbrowser bedoelen. Apache, IIS en nginx zijn de drie meest gebruikte webservers.
De meest simpele website kan gebouwd worden met één HTML bestand, index.html
. Het index.html
bestand, net als misschien wat afbeeldingen die op de pagina getoont worden, staan opgeslagen op de harde schijf van de server. Daarnaast moet op de server (rood omlijnd) een webserver staan om die bestanden te kunnen tonen in de webbrowser geïnstalleerd op iemand zijn persoonlijke computer. Dit ziet er dan als volgt uit:
Websites die zijn geschreven met alleen HTML, noemen we statische websites. In realiteit bouwen we nu ook dynamische websites. Die zijn vaak geschreven in PHP, waarmee websitepagina’s dynamisch gegenereerd kunnen worden door gegevens (bijvoorbeeld de tekst die op die pagina getoont moet worden) uit een database te halen om dit daarna ter plekke als HTML in de webbrowser samen te stellen. Dit werkt uiteraard alleen als de server ook de hiervoor benodigde programma’s installeert. Wikipedia zegt:
De documenten die door een webserver geleverd worden, kunnen uit verschillende bronnen komen: het kunnen bestanden op een opslagmedium zijn, maar het kan ook uitvoer van andere computerprogramma’s zijn die bijvoorbeeld databases raadplegen om ter plekke een document voor de client samen te stellen.
Je kunt natuurlijk zelf alles gaan schrijven in PHP en instellen in het databaseprogramma, maar er zijn voldoende applicaties ontwikkelt die dit al voor je gedaan hebben en je dus snel een dynamische website kunt opzetten. Een voorbeeld hiervan is het Content Management Systeem WordPress. De WordPress vereisten zijn:
WordPress is geschreven in PHP en creeërt dynamische HTML pagina’s in de webbrowser door gegevens op te vragen uit een database. Daarom moet er op de webserver PHP geïnstalleerd worden en ook MySQL, het database programma. Het is tegenwoordig heel normaal dat er dynamische websites gebouwd worden. Als je dus een stukje server huurt via een webhostingbedrijf, kun je ervan uit gaan dat er een heleboel andere programma’s tot je beschikking staan, waaronder PHP en MySQL. Het is dus ook niet zo raar dat WordPress is geschreven in PHP en gegevens haalt uit een MySQL database, omdat in een klassieke opzet van een server altijd PHP en MySQL staan geïnstalleerd, om zodoende dynamisch HTML pagina’s te kunnen genereren in de webbrowser. Deze klassieke opzet ziet er als volgt uit en is dus geschikt om een WordPress applicatie op te gebruiken:
Het is voor WordPress geen vereiste dat als webserver Apache wordt gebruikt.
We recommend Apache or Nginx as the most robust and featureful server for running WordPress, but any server that supports PHP and MySQL will do.
Je ziet dan ook steeds meer webhosting bedrijven die hun server bijvoorbeeld voorzien van de Nginx webserver.
Besturingssysteem: Linux, Microsoft Windows, OS X
We hebben in het vorige hoofdstuk al de hele tijd geschreven over programma’s die op de computer of de server staan. We vergeten echter nog één cruciaal iets: het besturingssysteem. Op je persoonlijke computer staan diverse programma’s die je gebruikt, bijvoorbeeld een tekstverwerker zoals Word. Om deze programma’s uit te voeren en ermee te kunnen werken heeft je computer een besturingssysteem nodig:
Het fungeert als een medium tussen de hardware en de computergebruiker met als opzet dat de gebruiker programma’s op een gemakkelijke en/of efficiënte manier kan uitvoeren.
Op WikiPedia vind je een lijst van besturingssystemen en lezen we over:
- besturingssysteem Linux (meest gebruikte systeem voor servers);
- besturingssysteem Microsoft Windows (meest gebruikte systeem voor persoonlijke computers);
- besturingssysteem OS X (systeem voor persoonlijke computers van het bedrijf Apple).
Microsoft Windows is het besturingssysteem dat de meeste mensen op hun persoonlijke computer hebben staan, net als OS X voor als je een computer van Apple hebt. Bij servers daarentegen is Linux het meest gebruikte besturingssysteem. Zie Linux als een verzamelnaam, want Linux is beschikbaar in vele varianten die Linuxdistributies genoemd worden.
Nu we weten wat het meest populaire besturingsysteem voor een server is, ziet een klassieke opzet voor een server er uit zoals op onderstaande afbeelding. Het besturingssysteem (oranje) omlijnd de programma’s en bestanden omdat met het besturingssysteem via een grafische interface (een gebruiksvriendelijke interface) er eenvoudig toegang verschaft wordt tot de harde schijf (hardware) van de server waar de bestanden te vinden zijn en je met het besturingssysteem eenvoudig programma’s uitvoert.
LAMP: klassieke opzet van een server
Deze klassieke opzet van een server zoals hierboven is uiteengezet wordt ook wel een LAMP stack genoemd. Deze letters staan voor:
- Linux (het besturingssysteem);
- Apache (de webserver);
- MySQL (de database);
- PHP, Perl of Python (de scripting taal).
Alles dus wat je nodig hebt om een website mee te maken! Zoals eerder opgemerkt kiest het webhosting bedrijf er zelf voor hoe het zijn servers configureert. Zo kunnen ze in plaats van Apache kiezen voor de webserver Nginx. Of in plaats van een Linux besturingssysteem kunnen ze net als onze persoonlijke computers bijvoorbeeld gebruik maken van Microsoft Windows.
Heb je vragen of opmerkingen, of was het artikel nuttig? Laat dan even een reactie achter!
Artikel updates:
– 26-05-2019
Rob Stolk zegt
Ik gebruik Adobe Lightroom voor het beheren van mijn fotobestanden. Eén van de mogelijkheden in dit programma is het maken van een fotogalerei, die vervolgens gedeel kan worden. Daartoe moet de “FTP bestandsoverdracht” geconfigureerd worden. In een pop-up venster wordt gevraagd om: server, gebruikersnaam, wachtwoord en serverpad.
Ik heb helaas geen idee welke gegevens ik daarvoor moet invoeren. Ik beschik niet over een server, laat staan een serverpad…
Kunt u mij misschien op weg helpen?
Henk zegt
HP,
Bedankt voor al je inspanningen om eea. duidelijk te maken hoe de computer, het web en servers ect. werken. Ik gebruik veel van je behandelde onderwerpen binnen mijn lessen ict en digitale vaardigheden voor leerlingen in het PRO onderwijs. Wel vereenvoudig ik sommige teksten en visualiseer deze met afbeeldingen. Ik vind het belangrijk dat jongeren in het algemeen en zeker binnen praktijkonderwijs meer inzicht krijgen in digitale/ mediawijsheid en merk dat verdieping in deze materie actueel en vooral noodzaak is. Veel kinderen hebben totaal geen idee hoe het allemaal werkt, maar zien alleen het gemak en niet de gevaren die er zeker zijn als ze online zijn.
Nogmaals bedankt!
Willem-Siebe Spoelstra zegt
Beste Henk, leuk dat je de tijd neemt voor een reactie. Super om te horen dat de inhoud van mijn blogs nuttig zijn voor de lessen die je verzorgt.
Mr M zegt
Bedankt voor de duidelijke uitleg!
Willem-Siebe Spoelstra zegt
Graag gedaan Mr M!
HVS zegt
“Microsoft Office is het besturingssysteem dat de meeste mensen op hun persoonlijke computer hebben staan, net als OS X voor als je een computer van Apple hebt.”
U bedoelt waarschijnlijk Microsoft Windows is het besturingsysteem…
Willem-Siebe Spoelstra zegt
Dankjewel, dat bedoel ik zeker. Is nu aangepast :-).