De technieken die ervoor zorgen dat meerdere websites op één computer kunnen draaien, worden voornamelijk omvat door webservertechnologieën en virtuele hosting . Deze werken vaak samen.
Hier is een overzicht:
* Webserversoftware: Dit is de fundamentele software (zoals Apache, Nginx, IIS) die luistert naar inkomende verzoeken op specifieke poorten (meestal poort 80 voor HTTP en 443 voor HTTPS). Vervolgens worden de juiste bestanden op basis van het verzoek weergegeven.
* Virtuele hosting: Dit is de belangrijkste techniek waarmee één enkele server meerdere websites kan hosten. Het omvat het configureren van de webserver om verschillende domeinen (of subdomeinen) te koppelen aan verschillende sets bestanden en instellingen. Er zijn twee hoofdtypen:
* Op naam gebaseerde virtuele hosting: De server bepaalt welke website moet worden aangeboden op basis van de domeinnaam in de HTTP-verzoekheader. Dit is de meest gebruikelijke aanpak.
* IP-gebaseerde virtuele hosting: Dit is tegenwoordig minder gebruikelijk en gebruikt verschillende IP-adressen voor verschillende websites. Elke website zou een eigen IP-adres nodig hebben, wat duur of onpraktisch kan zijn.
* Containers (bijvoorbeeld Docker): Hoewel ze niet strikt onderdeel zijn van virtuele hosting, bieden containers een lichtgewicht manier om verschillende websites en hun afhankelijkheden te isoleren. Elke website draait in zijn eigen container, zodat ze elkaar niet hinderen. Dit vergroot de veiligheid en beheerbaarheid.
* Virtuele machines (VM's): Vergelijkbaar met containers, maar zwaarder. Elke website draait op zijn eigen volledige virtuele machine en biedt een nog grotere isolatie dan containers. Dit wordt vaak gebruikt voor veeleisende toepassingen of wanneer strikte isolatie van het grootste belang is.
In wezen zorgt de combinatie van webserversoftware en virtuele hosting (vaak verbeterd door containers of VM's) ervoor dat meerdere websites de bronnen van één computer kunnen delen zonder elkaar te hinderen. |