Teknikerna som gör det möjligt för flera webbplatser att köras på en enda dator omfattas främst av
webbserverteknologier och
virtual hosting . Dessa fungerar ofta tillsammans.
Här är en uppdelning:
* webbserverprogramvara: Detta är den grundläggande programvaran (som Apache, Nginx, IIS) som lyssnar på inkommande förfrågningar på specifika portar (vanligtvis port 80 för HTTP och 443 för HTTPS). Den tjänar sedan lämpliga filer baserat på begäran.
* virtuell värd: Detta är nyckeltekniken som gör att en enda server kan vara värd för flera webbplatser. Det handlar om att konfigurera webbservern för att associera olika domäner (eller underdomäner) med olika uppsättningar filer och inställningar. Det finns två huvudtyper:
* Namnbaserad virtuell värd: Servern bestämmer vilken webbplats som ska tjäna baserat på domännamnet i HTTP -förfrågningshuvudet. Detta är det vanligaste tillvägagångssättet.
* IP-baserad virtuell värd: Mindre vanligt idag använder detta olika IP -adresser för olika webbplatser. Varje webbplats skulle behöva sin egen IP -adress, vilket kan vara dyrt eller opraktiskt.
* containrar (t.ex. Docker): Även om de inte strikt är en del av virtuell värd, ger containrar ett lätt sätt att isolera olika webbplatser och deras beroenden. Varje webbplats körs i sin egen behållare och säkerställer att de inte stör varandra. Detta förbättrar säkerheten och hanterbarheten.
* virtuella maskiner (VM): Liknar containrar, men mer tungvikt. Varje webbplats körs på sin egen virtuella maskin och erbjuder ännu större isolering än containrar. Detta används ofta för mer krävande applikationer eller när strikt isolering är av största vikt.
I huvudsak tillåter kombinationen av webbserverprogramvara och virtuell värd (ofta förbättrad av containrar eller VM) flera webbplatser att dela resurserna för en enda dator utan att störa varandra.