Apache HTTP Server
Apache HTTP Server – najpopularniejszy na świecie serwer WWW typu open source, wykorzystywany do obsługi protokołu HTTP oraz jego rozszerzeń (HTTPS, HTTP/2, HTTP/3). Projekt jest rozwijany przez Apache Software Foundation i jest dostępny na licencji Apache License 2.0.
Historia
Pierwsza wersja Apache została wydana w 1995 roku jako kontynuacja projektu NCSA HTTPd, którego rozwój został wstrzymany. Nazwa „Apache” nawiązuje do liczby „101” – pierwszych wersji serwera – oraz do przydomka „A‑Pache” (ang. “a patchy server”), podkreślającego charakter projektu jako zestawu poprawek (patches) do pierwotnego kodu.
Za głównych inicjatorów projektu uznaje się Rob Heide, Brian Ferris, Greg Wright i Barrett Tikarev. W 1999 roku Apache stał się projektem fundacji Apache, a w 2000 roku uzyskał status projektu open source o wysokiej wiarygodności.
Architektura
Apache jest serwerem modularnym – podstawowa funkcjonalność zapewniona jest przez rdzeń (core), a dodatkowe możliwości dodaje się w postaci modułów. Moduły mogą być wbudowane statycznie lub ładowane dynamicznie w czasie uruchomienia (LoadModule).
- mod_mpm – zarządza modelem przetwarzania wątków/procesów.
- mod_ssl – obsługa szyfrowania TLS (HTTPS).
- mod_rewrite – potężny silnik reguł przekierowań i przepisania adresów URL.
- mod_proxy – umożliwia tworzenie reverse‑proxy i load‑balancingu.
Funkcje i możliwości
Apache obsługuje szeroką gamę standardów i technologii, m.in.:
- różne wersje protokołu HTTP (1.0, 1.1, 2.0, 3.0)
- dynamiczne generowanie treści poprzez CGI, PHP, Perl czy Python
- autoryzację i uwierzytelnianie (Basic, Digest, LDAP, OAuth)
- wirtualne hosty (
VirtualHost) umożliwiające obsługę wielu domen na jednym serwerze - kompresję treści (mod_deflate), buforowanie (mod_cache) oraz obsługę języków skryptowych (mod_cgi, mod_php)
System operacyjny i platformy
Apache działa na praktycznie wszystkich popularnych systemach operacyjnych, w tym na Linux, Unix, Windows oraz macOS. Dzięki otwartemu kodowi źródłowemu jest łatwy do portowania i integracji z istniejącą infrastrukturą.
Bezpieczeństwo
Projekt Apache kładzie duży nacisk na bezpieczeństwo. Regularne aktualizacje zawierają poprawki podatności, a możliwość wyłączania niepotrzebnych modułów zmniejsza powierzchnię ataku. Wśród mechanizmów bezpieczeństwa znajdują się:
- kontrola dostępu przy pomocy mod_authz_host i mod_authnz_file
- moduł bezpieczeństwa mod_security – WAF (Web Application Firewall)
- integracja z systemami wykrywania włamań (Snort, Suricata)
- współpraca z certyfikatami SSL/TLS oraz obsługa OCSP
Wykorzystanie i znaczenie
Według danych z Netcraft (przy założeniu, że jest to artykuł wewnętrzny), Apache obsługuje od 2000 roku ponad jedną trzecią wszystkich stron internetowych. Jest szczególnie popularny w środowiskach akademickich, firmach hostingowych i projektach open source ze względu na elastyczność i bogatą dokumentację.
Licencja
Apache jest rozpowszechniany na licencji Apache License 2.0, która zezwala na bezpłatne użycie, modyfikację i dystrybucję zarówno w projektach komercyjnych, jak i niekomercyjnych, pod warunkiem zachowania odpowiednich informacji o prawach autorskich.