Hvordan fungerer en Apache-webserver?

Internettet findes som en samling af webservere, der er vært for websider, som brugerne kan få adgang til fra deres computere. Disse servere skal køre serversoftware til at håndtere brugeranmodninger. En sådan softwarepakke, Apache-webserveren, tilbyder en gratis serverløsning, som udviklere kan hoste websider fra. Som sådan er det blevet et populært program til webhosting. Apache-serveren fungerer ved at håndtere URL-anmodninger til serveren gennem specifikke kommunikationsprotokoller på en multithreading-måde og udvide sig til at arbejde med programmerings- og databasesprog.

URL'er og HTTP-protokol

Apache er webserver-software og håndterer som sådan primært Hypertext Transfer Protocol-anmodninger gennem Universal Resource Locator-adresseanmodninger. URL'er er simpelthen navnet på et websted, som brugerne går ind i webbrowsere for at finde en webside. Når brugeren indtaster en URL, sender browseren en HTTP-anmodning til den servercomputer, der kører Apache, normalt i port 80. HTTP-protokollen er internetstandardprotokol til dataoverførsel til websider, så når en bruger foretager en URL-anmodning til en Apache server, vil Apache-serveren håndtere HTTP-anmodningen og returnere de anmodede websider.

Multitasking / Multithreading

En Apache-server håndterer adskillige HTTP-anmodninger på én gang. For at gøre dette skal serveren køre på flere "tråde" til udførelse. En tråd er en del af et program, der forgrener sig fra hovedprogrammet og kører på samme tid for at udføre en bestemt opgave. Apache-serveren opretter en ny tråd for hver HTTP-anmodning, der håndterer hentning og returnering af den anmodede webside. Dette giver Apache mulighed for at servere websider til flere brugere på samme tid.

Program- og filvisning

Sammen med websider kan Apache-serveren tillade brugere at downloade filer til deres computere, hvilket Apache også håndterer via HTTP. Disse inkluderer lydfiler, filmfiler eller visse dokumenter såsom Word-dokumenter eller PDF. Hvis brugeren anmoder om en programfil til et script-sprog, såsom PHP, Python eller Perl, udfører Apache-serveren programmet og sender output fra programmet til brugeren via HTTP. For at kunne behandle anmodninger om dokumenter, der indeholder scriptingsprog, skal Apache-serveren dog have installeret det relevante modul til dette sprog.

Apache-pakker

Apache-serveren leveres som en enkeltstående pakke som en del af større web-serveringsprogrammer og komplet med moduler for at forbedre dens ydeevne. En populær implementering af Apache-serveren er stakken "LAMP" (Linux, Apache, MySQL og PHP / Perl / Python). Denne konfiguration pakker Apache-serveren med sine web-serveringsfunktioner med MySQL-databasen og script-sprog som PHP for at tjene databaseindhold til opdaterede websteder som f.eks. Blogs.