Hoe werkt een Apache-webserver?

Het internet bestaat als een verzameling webservers die webpagina's hosten waartoe gebruikers toegang hebben vanaf hun computers. Deze server moet serversoftware draaien om gebruikersverzoeken af ​​te handelen. Eén zo'n softwarepakket, de Apache-webserver, biedt ontwikkelaars een gratis serveroplossing om webpagina's van te hosten. Als zodanig is het een populair programma geworden voor websitehosting. De Apache-server werkt door URL-verzoeken aan de server af te handelen via specifieke communicatieprotocollen op een multithreading-manier en zichzelf uit te breiden om te werken met programmeer- en databasetalen.

URL's en HTTP-protocol

Apache is webserversoftware en behandelt als zodanig voornamelijk Hypertext Transfer Protocol-verzoeken via Universal Resource Locator-adresverzoeken. URL's zijn gewoon de naam van een website die gebruikers in webbrowsers invoeren om een ​​webpagina te vinden. Wanneer de gebruiker een URL invoert, stuurt de browser een HTTP-verzoek naar de servercomputer waarop Apache draait, meestal op poort 80. Het HTTP-protocol is het standaard internetprotocol voor gegevensoverdracht voor webpagina's, dus wanneer een gebruiker een URL-verzoek doet aan een Apache server, zal de Apache-server het HTTP-verzoek afhandelen en de gevraagde webpagina's retourneren.

Multitasking/Multithreading

Een Apache-server zal meerdere HTTP-verzoeken tegelijk afhandelen. Om dit te doen, moet de server op meerdere "threads" van uitvoering draaien. Een thread is een onderdeel van een programma dat aftakt van het hoofdprogramma en tegelijkertijd wordt uitgevoerd om een ​​specifieke taak uit te voeren. De Apache-server maakt voor elk HTTP-verzoek een nieuwe thread die het ophalen en retourneren van de gevraagde webpagina afhandelt. Hierdoor kan Apache webpagina's aan meerdere gebruikers tegelijkertijd aanbieden.

Programma- en bestandsweergave

Samen met webpagina's kan de Apache-server gebruikers in staat stellen bestanden naar hun computers te downloaden, die Apache ook via HTTP zal verwerken. Deze omvatten audiobestanden, filmbestanden of bepaalde documenten zoals Word-documenten of PDF. Als de gebruiker een programmabestand opvraagt ​​voor een scripttaal, zoals PHP, Python of Perl, dan voert de Apache-server het programma uit en stuurt de uitvoer van het programma naar de gebruiker via HTTP. Om verzoeken om documenten met scripttalen te verwerken, moet de Apache-server echter de juiste module voor die taal hebben geïnstalleerd.

Apache-pakketten

De Apache-server wordt geleverd als een op zichzelf staand pakket, als onderdeel van grotere webservingprogramma's en compleet met modules om de prestaties te verbeteren. Een populaire implementatie van de Apache-server is de "LAMP" (Linux, Apache, MySQL en PHP/Perl/Python) stack. Deze configuratie bundelt de Apache-server met zijn webservermogelijkheden met de MySQL-database en scripttalen zoals PHP om database-inhoud te leveren voor bijgewerkte websites zoals blogs.