Internet postoji kao zbirka web poslužitelja na kojima se nalaze web stranice kojima korisnici mogu pristupiti sa svojih računala. Ovi poslužitelji moraju pokretati poslužiteljski softver za obradu korisničkih zahtjeva. Jedan takav softverski paket, Apache web poslužitelj, nudi besplatno rješenje poslužitelja za razvojne programere s kojih se mogu hostirati web stranice. Kao takav, postao je popularan program za hosting web stranica. Apache poslužitelj djeluje obrađujući zahtjeve za URL poslužitelju putem specifičnih komunikacijskih protokola na višestruki način i proširujući se na rad s programskim i jezicima baza podataka.
URL-ovi i HTTP protokol
Apache je softver web poslužitelja i kao takav obrađuje prvenstveno zahtjeve protokola za prijenos hiperteksta putem zahtjeva za adresom Universal Resource Locator. URL-ovi su jednostavno ime web mjesta koje korisnici ulaze u web preglednike kako bi pronašli web stranicu. Kada korisnik unese URL, preglednik šalje HTTP zahtjev poslužitelju računalu na kojem se izvodi Apache, obično na portu 80. HTTP protokol je internetski standardni protokol za prijenos podataka za web stranice, pa kada korisnik uputi zahtjev za URL Apache poslužitelju, Apache poslužitelj će obraditi HTTP zahtjev i vratiti tražene web stranice.
Multitasking / Multithreading
Apache poslužitelj istovremeno će obrađivati brojne HTTP zahtjeve. Da bi to učinio, poslužitelj mora raditi na više "niti" izvršenja. Nit je dio programa koji se odvaja od glavnog programa i istodobno se izvodi kako bi se izvršio određeni zadatak. Apache poslužitelj stvorit će novu nit za svaki HTTP zahtjev koji će se baviti dohvaćanjem i vraćanjem tražene web stranice. To omogućuje Apacheu da istovremeno poslužuje web stranice više korisnika.
Posluživanje programa i datoteka
Uz web stranice, Apache poslužitelj može dopustiti korisnicima da preuzimaju datoteke na svoja računala, što će Apache obrađivati i putem HTTP-a. Uključuju audio datoteke, datoteke s filmovima ili određene dokumente kao što su Word dokumenti ili PDF. Ako korisnik zatraži programsku datoteku za skriptni jezik, kao što je PHP, Python ili Perl, tada Apache poslužitelj izvršava program i šalje izlazni program korisniku putem HTTP-a. Međutim, da bi obrađivao zahtjeve za dokumente koji sadrže skriptne jezike, Apache poslužitelj mora imati instaliran odgovarajući modul za taj jezik.
Paketi Apache
Apache poslužitelj dolazi kao samostalni paket, kao dio većih programa za web posluživanje te u kompletu s modulima za poboljšanje njegovih performansi. Popularna implementacija Apache poslužitelja je "LAMP" (Linux, Apache, MySQL i PHP / Perl / Python) stog. Ova konfiguracija pakira Apache poslužitelj sa svojim mogućnostima web posluživanja s MySQL bazom podataka i skriptnim jezicima kao što je PHP kako bi poslužio sadržaj baze podataka za ažurirane web stranice poput blogova.