Hur fungerar en Apache-webbserver?

Internet finns som en samling webbservrar som är värd för webbsidor som användare kan komma åt från sina datorer. Denna server måste köra serverprogramvara för att hantera användarförfrågningar. Ett sådant programvarupaket, Apache-webbservern, erbjuder en gratis serverlösning för utvecklare att vara värd för webbsidor från. Som sådan har det blivit ett populärt program för webbhotell. Apache-servern fungerar genom att hantera URL-förfrågningar till servern genom specifika kommunikationsprotokoll på ett multithreading-sätt och utvidga sig till att arbeta med programmerings- och databasspråk.

URL: er och HTTP-protokoll

Apache är webbserverprogramvara och hanterar som sådan främst Hypertext Transfer Protocol-förfrågningar via Universal Resource Locator-adressförfrågningar. URL: er är helt enkelt namnet på en webbplats som användare anger i webbläsare för att hitta en webbsida. När användaren anger en URL skickar webbläsaren en HTTP-begäran till serverdatorn som kör Apache, vanligtvis på port 80. HTTP-protokollet är internetstandardprotokollet för dataöverföring för webbsidor, så när en användare gör en URL-begäran till en Apache server, hanterar Apache-servern HTTP-begäran och returnerar de begärda webbsidorna.

Multitasking / Multithreading

En Apache-server hanterar många HTTP-förfrågningar samtidigt. För att göra detta måste servern köras på flera "trådar" för körning. En tråd är en del av ett program som förgrenar sig från huvudprogrammet och körs samtidigt för att utföra en specifik uppgift. Apache-servern skapar en ny tråd för varje HTTP-begäran som hanterar hämtning och returnering av den begärda webbsidan. Detta gör det möjligt för Apache att servera webbsidor till flera användare samtidigt.

Program- och filvisning

Tillsammans med webbsidor kan Apache-servern tillåta användare att ladda ner filer till sina datorer, vilket Apache också hanterar via HTTP. Dessa inkluderar ljudfiler, filmfiler eller vissa dokument som Word-dokument eller PDF. Om användaren begär en programfil för ett skriptspråk, som PHP, Python eller Perl, kör Apache-servern programmet och skickar programmets utdata till användaren via HTTP. För att behandla förfrågningar om dokument som innehåller skriptspråk måste dock Apache-servern ha installerat lämplig modul för det språket.

Apache-paket

Apache-servern kommer som ett fristående paket, som en del av större webbserveringsprogram och komplett med moduler för att förbättra dess prestanda. En populär implementering av Apache-servern är stacken "LAMP" (Linux, Apache, MySQL och PHP / Perl / Python). Den här konfigurationen paketerar Apache-servern med sina webbserveringsfunktioner med MySQL-databasen och skriptspråk som PHP för att kunna servera databasinnehåll för uppdaterade webbplatser som bloggar.