Internet existuje jako kolekce webových serverů, které hostují webové stránky, ke kterým mají uživatelé přístup ze svých počítačů. Na těchto serverech musí být pro zpracování požadavků uživatelů spuštěn serverový software. Jeden takový softwarový balíček, webový server Apache, nabízí vývojářům bezplatné serverové řešení pro hostování webových stránek. Jako takový se stal populárním programem pro hostování webových stránek. Server Apache pracuje tak, že zpracovává požadavky na URL na server prostřednictvím specifických komunikačních protokolů vícevláknovým způsobem a sám se rozšiřuje o práci s programovacími a databázovými jazyky.
URL a HTTP protokol
Apache je software webového serveru a jako takový zpracovává primárně požadavky protokolu Hypertext Transfer Protocol prostřednictvím požadavků na adresu Universal Resource Locator. Adresy URL jsou jednoduše název webové stránky, kterou uživatelé zadávají do webových prohlížečů za účelem vyhledání webové stránky. Když uživatel zadá adresu URL, prohlížeč odešle požadavek HTTP do počítače serveru, na kterém je spuštěn Apache, obvykle na portu 80. Protokol HTTP je standardní internetový protokol pro přenos dat pro webové stránky, takže když uživatel odešle požadavek URL na Apache server, server Apache zpracuje požadavek HTTP a vrátí požadované webové stránky.
Multitasking / Multithreading
Server Apache bude zpracovávat řadu požadavků HTTP najednou. Aby to bylo možné, musí server běžet na více „podprocesech“ provádění. Vlákno je součástí programu, který se větví od hlavního programu a běží současně za účelem splnění konkrétního úkolu. Server Apache vytvoří pro každý požadavek HTTP nové vlákno, které bude zpracovávat načítání a vracení požadované webové stránky. To umožňuje Apache obsluhovat webové stránky více uživatelům současně.
Program a poskytování souborů
Spolu s webovými stránkami může server Apache umožnit uživatelům stahovat soubory do svých počítačů, které Apache také zpracovává prostřednictvím protokolu HTTP. Patří sem zvukové soubory, filmové soubory nebo určité dokumenty, například dokumenty Word nebo PDF. Pokud uživatel požaduje programový soubor pro skriptovací jazyk, jako je PHP, Python nebo Perl, pak server Apache provede program a odešle výstup programu uživateli prostřednictvím protokolu HTTP. Aby však bylo možné zpracovávat požadavky na dokumenty obsahující skriptovací jazyky, musí mít server Apache nainstalován příslušný modul pro daný jazyk.
Balíčky Apache
Server Apache je dodáván jako samostatný balíček, který je součástí větších webových obslužných programů a je doplněn moduly, které zvyšují jeho výkon. Populární implementací serveru Apache je zásobník „LAMP“ (Linux, Apache, MySQL a PHP / Perl / Python). Tato konfigurace zabalí server Apache s jeho schopnostmi obsluhovat webové stránky s databází MySQL a skriptovacími jazyky, jako je PHP, aby sloužil obsahu databáze pro aktualizované webové stránky, jako jsou blogy.