En webbservers primära funktion är att
betjäna webbsidor till klienter (vanligtvis webbläsare). Detta innebär ett antal underliggande funktioner:
kärnfunktioner:
* Mottagande HTTP -förfrågningar: Servern lyssnar på inkommande förfrågningar från klienter, vanligtvis med hjälp av HTTP (Hypertext Transfer Protocol) eller HTTPS (HTTP Secure) -protokoll. Dessa förfrågningar anger vilken resurs (t.ex. en webbsida, bild eller videofil) klienten vill komma åt.
* Bearbetningsförfrågningar: Servern tolkar begäran och bestämmer vilken resurs som begärs och hur man hanterar den. Detta kan innebära att man kontrollerar behörigheter, autentisering och andra faktorer.
* Hämtning av resurser: Servern lokaliserar den begärda resursen på sitt filsystem eller i en databas.
* Genererande svar: När resursen är belägen skapar servern ett HTTP -svar som innehåller den begärda resursen och relevanta metadata (som innehållstyp och längd). Detta svar skickas sedan tillbaka till klienten.
* Hanteringsförbindelser: Servern hanterar flera samtidiga anslutningar från olika klienter effektivt. Det hanterar öppningen, stängningen och underhållet av dessa anslutningar.
* Säkerhet: En avgörande roll är att genomföra säkerhetsåtgärder för att skydda mot obehörig tillgång, attacker (som DDOS) och dataöverträdelser. HTTPS krypterar kommunikation och andra säkerhetsfunktioner som brandväggar och åtkomstkontroller är avgörande.
Sekundära men viktiga funktioner:
* dynamisk innehållsgenerering: Många webbservrar kan hantera dynamiskt innehåll. Detta innebär att de kan bearbeta skript på serversidan (som PHP, Python, Node.js, Ruby on Rails, etc.) för att generera innehåll i flytande baserat på användarförfrågningar eller databasfrågor.
* caching: Webbservrar cache ofta ofta åtkomst till resurser för att förbättra prestanda och minska serverbelastningen.
* loggning: Servrar loggar information om förfrågningar, fel och andra händelser för felsökning, säkerhetsanalys och prestationsövervakning.
* serveringsstatiskt innehåll: Effektivt servering av statiskt innehåll (bilder, CSS, JavaScript -filer) är en grundläggande funktion. Optimeringar som kompressions- och innehållsleveransnätverk (CDN) används vanligtvis.
* virtuell värd: En enda server kan vara värd för flera webbplatser med virtuell värd, separera resurser och konfigurationer för varje webbplats.
* SSL/TLS -uppsägning: Hantering av kryptering och dekryptering av HTTPS -trafik.
* Lastbalansering: Distribuera förfrågningar över flera servrar för att förbättra prestanda och tillgänglighet.
Kort sagt, en webbserver fungerar som en mellanhand mellan klienter och webbresurser, hantering av förfrågningar, bearbetning av data och levererar svar pålitligt och säkert.