Internet obstaja kot zbirka spletnih strežnikov, ki gostijo spletne strani, do katerih lahko uporabniki dostopajo iz svojih računalnikov. Ti strežniki morajo izvajati strežniško programsko opremo za obdelavo uporabniških zahtev. Takšen programski paket, spletni strežnik Apache, ponuja brezplačno strežniško rešitev, s katero lahko razvijalci gostijo spletne strani. Kot tak je postal priljubljen program za gostovanje spletnih strani. Strežnik Apache deluje tako, da zahteve za URL strežniku prek specifičnih komunikacijskih protokolov obdela na večnitni način in se razširi na delo s programskimi jeziki in jeziki baz podatkov.
URL-ji in protokol HTTP
Apache je programska oprema spletnega strežnika in kot taka obravnava predvsem zahteve protokola za prenos hiperteksta prek zahtev za naslove Universal Resource Locator. URL-ji so preprosto ime spletnega mesta, ki ga uporabniki vnesejo v spletne brskalnike, da bi našli spletno stran. Ko uporabnik vnese URL, brskalnik pošlje zahtevo HTTP strežniškemu računalniku, na katerem je nameščen Apache, običajno na vratih 80. Protokol HTTP je standardni internetni protokol za prenos podatkov za spletne strani, torej ko uporabnik pošlje zahtevo za URL Apache strežnik, bo strežnik Apache obdelal zahtevo HTTP in vrnil zahtevane spletne strani.
Večopravilnost / večnitnost
Strežnik Apache bo hkrati obdelal številne zahteve HTTP. Da bi to naredil, mora strežnik zagnati več izvedbenih "niti". Nit je del programa, ki se odcepi od glavnega programa in teče hkrati, da lahko izpolni določeno nalogo. Strežnik Apache bo za vsako zahtevo HTTP ustvaril novo nit, ki bo obravnavala pridobivanje in vračanje zahtevane spletne strani. To Apacheu omogoča, da spletne strani hkrati streže več uporabnikom.
Vročanje programov in datotek
Skupaj s spletnimi stranmi lahko strežnik Apache uporabnikom omogoča prenos datotek v njihove računalnike, kar bo Apache obdeloval tudi prek HTTP. Sem spadajo zvočne datoteke, filmske datoteke ali nekateri dokumenti, kot so Wordovi dokumenti ali PDF. Če uporabnik zahteva programsko datoteko za skriptni jezik, kot je PHP, Python ali Perl, potem strežnik Apache izvede program in izhod programa pošlje uporabniku prek HTTP. Vendar pa mora strežnik Apache za obdelavo zahtev za dokumente, ki vsebujejo skriptne jezike, namestiti ustrezen modul za ta jezik.
Paketi Apache
Strežnik Apache je na voljo kot samostojni paket kot del večjih programov za spletno serviranje in skupaj z moduli za izboljšanje njegove učinkovitosti. Priljubljena izvedba strežnika Apache je sklad "LAMP" (Linux, Apache, MySQL in PHP / Perl / Python). Ta konfiguracija združuje strežnik Apache s svojimi zmožnostmi spletnega strežnika z bazo podatkov MySQL in skriptnimi jeziki, kot je PHP, da lahko vsebino baze podatkov prikazuje na posodobljenih spletnih mestih, kot so blogi.