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.

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 bedoelen dat nodig is om te communiceren met de webbrowser. 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 programma staan om die bestanden te kunnen tonen in het webbrowser programma geïnstalleerd op iemand zijn persoonlijke computer. Dit ziet er dan als volgt uit:

Relatie tussen webserver en webbrowser

Relatie tussen webserver en webbrowser. Credits afbeelding voor Serverwatch.

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:

  • PHP version 5.2.4 or greater (recommended: PHP 5.4 or greater)
  • MySQL version 5.0 or greater (recommended: MySQL 5.5 or greater)

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:

Klassieke server opzet

Klassieke server opzet met fysieke ruimte voor bestanden (PHP bestanden, HTML bestanden, afbeeldingen), een webserver (zoals Apache), PHP geïnstalleerd en een database (zoals MySQL) voor het maken van dynamische websites. Credits afbeelding voor Serverwatch.

Het is voor WordPress bijvoorbeeld geen vereiste dat als webserver Apache wordt gebruikt. 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, maar vergeten nog één cruciaal iets: het besturingssysteem. Zoals je wel kent van je persoonlijke computer staan er diverse programma’s op die je gebruikt, bijvoorbeeld een tekstverwerker. 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 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. 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 (oranje omlijnd) voor een server is ziet een klassieke opzet voor een server er zoals hieronder uit. Het besturingssysteem 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.

Klassieke server opzet met Linux besturingssysteem

Klassieke server opzet met Linux besturingssysteem. Credits afbeelding voor Serverwatch.

LAMP

Deze klassieke opzet van een server word 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 comment achter!

2 comments on “Klassieke opzet (web)server simpel uitgelegd

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *