Apache is een webserver die gratis wordt verspreid. De software is een cross-platform product, dat wil zeggen, het draait op verschillende besturingssystemen (Linux, Windows, Solaris, enz.).).
De belangrijkste verschillen met concurrenten zijn betrouwbaarheid en flexibiliteit. Apache werkt volgens het principe van modules. De client installeert eerst de kernel en verbindt vervolgens de benodigde modules voor hun taken.
Het principe van de werking
Apache verwerkt client-server verzoeken via het HTTP-protocol. De webserver heeft 3 multiprocessing modules die verantwoordelijk zijn voor de verwerking van het verzoek van de gebruiker:
- Mpm_prefork maakt een afzonderlijk proces voor elk clientverzoek. Hoe minder processen er zijn, hoe sneller de taken van de gebruiker worden verwerkt. De hoeveelheid RAM wordt toegewezen aan de server voor elk verzoek. Deze module wordt meestal gebruikt in combinatie met andere externe componenten die niet kunnen werken in multithreaded modus, bijvoorbeeld mod_php.
- Mpm_worker maakt processen die met meerdere threads tegelijk werken. Eén thread behandelt één gebruikersverbinding. De module verwerkt gebruikersverzoeken sneller en laadt minder serverbronnen.
- Mpm_event is ontworpen om te werken met persistente (keep-alive) verbindingen. Het verdeelt de streams in permanente en actieve, waardoor u de snelheid van het verwerken van gebruikersverzoeken kunt verhogen.
Er zijn modules die zijn geoptimaliseerd voor een familie van besturingssystemen. De mpm_winnt module werkt bijvoorbeeld met Windows OS, mpm_netware-met Netware.
Functie
De ontwikkelaars hebben Apache zo toegankelijk en gebruiksvriendelijk mogelijk gemaakt. De community brengt regelmatig patches en updates uit.
Apache heeft een virtualisatiefunctie. Er kunnen meerdere virtuele sites op hetzelfde IP-adres bestaan. Elke host is geconfigureerd om te voldoen aan de individuele vereisten van de client: het instellen van toegangsrechten voor bestanden, het beperken van het verbruik van rekenkracht van de fysieke server, enz.
Voor de webserver zijn er modules die ondersteuning toevoegen voor andere (DBMS geschreven in C) talen aan de Apache kernel, bijvoorbeeld PHP, Ruby, Perl.
Apache heeft een aantal ingebouwde beveiligingsfuncties. Deze omvatten het gebruikersautorisatiesysteem, beperking van de toegang door IP-adressen, differentiatie van toegangsrechten tot mappen en bestanden op de server, enz. De functie van het starten van processen op basis van gebruikers-of groeps-ID ‘ s is beschikbaar.
Indien nodig kan de gebruiker de gegevens die tussen de server en de client worden verzonden, versleutelen met behulp van het SSL-protocol. Aanvullende beveiligingsfuncties zijn ingeschakeld via de mod_security-module.
De Apache webserver is ontworpen om een website te laten draaien zonder onnodige bewegingen. De intuïtieve interface, het modulaire systeem, de ingebouwde beschermingsmechanismen en vele andere functies maken het tot een van de meest populaire webservers.