Definicja
Apache (formalnie Apache HTTP Server) to bezpłatny serwer WWW o otwartym kodzie źródłowym, wydany po raz pierwszy w 1995 roku, który pomógł ukształtować wczesny internet i nadal jest domyślnie instalowany w większości planów hostingu współdzielonego. Obsługuje pliki statyczne bezpośrednio, a żądania dynamiczne przekazuje do PHP i innych języków za pomocą modułów takich jak mod_php lub PHP-FPM, wykorzystując jeden z kilku modeli roboczych (prefork, worker, event) do obsługi równoczesnych połączeń. Jego cechą definiującą jest konfiguracja na poziomie katalogu poprzez pliki .htaccess, która pozwala każdemu kontu hostingowemu nadpisywać reguły przepisywania adresów URL, przekierowania i zasady dostępu bez ingerencji w globalny plik httpd.conf, co stanowi rzeczywistą zaletę na serwerach współdzielonych, gdzie użytkownicy nie mają dostępu do edycji konfiguracji głównej. NGINX wyprzedził Apache w zastosowaniach o wysokim ruchu oraz w roli reverse proxy dzięki architekturze opartej na zdarzeniach, choć powszechnie spotykany stos produkcyjny nadal łączy NGINX działający z przodu z Apache obsługującym logikę aplikacji w tle. Ekosystem modułów Apache, integracja z cPanel oraz wsparcie dla .htaccess sprawiają, że pozostaje on praktycznym domyślnym wyborem w hostingu współdzielonym i na mniejszych serwerach VPS.
Jak to działa
Apache wykorzystuje model obsługi żądań oparty na workerach (MPM prefork, worker lub event) i ładuje moduły obsługujące PHP, SSL, przepisywanie adresów URL, uwierzytelnianie i wiele innych funkcji. Odczytuje globalny plik httpd.conf oraz pliki .htaccess na poziomie poszczególnych katalogów. Moduł mod_rewrite stanowi mechanizm odpowiedzialny za tzw. bezpośrednie odnośniki (permalinki) w WordPress i podobną obsługę adresów URL.
Dlaczego to ma znaczenie
W przypadku hostingu współdzielonego oraz witryn WordPress obsługa .htaccess przez Apache jest powodem, dla którego rozwiązanie to nadal funkcjonuje. Dla witryn o wysokim ruchu oraz zastosowań typu reverse proxy lepszym domyślnym wyborem jest obecnie NGINX. Powszechnie stosowany stos to NGINX z przodu i Apache za nim, co łączy zalety obu rozwiązań.