Najlepsze pytania
Chronologia
Czat
Perspektywa
Apache HTTP Server
Z Wikipedii, wolnej encyklopedii
Remove ads
Apache – otwarty serwer HTTP dostępny dla wielu systemów operacyjnych (m.in. UNIX, GNU/Linux, BSD, OS X, Microsoft Windows).
Remove ads
Popularność
Apache jest jednym z szeroko stosowanych serwerów HTTP w Internecie. W maju 2020 (według serwisu Netcraft) jego udział wśród wszystkich serwerów wynosił ponad 25%[1]. Według nieistniejącego już serwisu Amudom, wśród polskich domen ok. 53% serwerów używało Apache w 2017 roku[2].
Statystyki wykorzystania serwerów WWW (dane z maja 2020 według serwisu Netcraft)[1]:
nginx | 445 724 550 | 36,00% |
Apache | 315 019 262 | 25,45% |
Microsoft | 155 042 311 | 12,52% |
44 304 867 | 3,58% |
Technika używana przez Netcraft polegająca na badaniu odpowiedzi serwerów ma pewne ograniczenia i może dawać zaburzone statystyki, ponieważ jest w stanie ustalić jedynie serwer zewnętrzny. Jeśli właściwy serwer jest za serwerem proxy, to może nie być to uwzględnione[3].
Remove ads
Cechy serwera i obsługiwane moduły
- wielowątkowość
- skalowalność
- bezpieczeństwo
- Kontrola dostępu/uwierzytelnianie: mod_authz_host
- CGI
- Proxy typu HTTP, Apache JServe Protocol, FTP, CONNECT: mod_proxy*
- SSI: mod_include
- Content-Negotation: mod_negotation
- Moduł URL-Rewriting: mod_rewrite
- SSL: mod_ssl
- możliwość osadzania interpreterów języków skryptowych, np. mod perl, mod_php czy mod_python
Historia
Podsumowanie
Perspektywa
Serwer Apache wywodzi się z kodu serwera NCSA HTTPd[4] napisanego przez Roba McCoola, pracownika NCSA.
- kwiecień 1995 – wersja 0.6.2 pierwsza oficjalna wersja serwera HTTP Apache.
- sierpień 1995 – wersja 0.8.8 dodanie standardowego API i modularyzacja kodu.
- grudzień 1995 – wersja 1.0 ulepszenie modułów serwera, napisanie dokumentacji, przeniesienie serwera na wiele różnych platform systemowych.
- 2000 – wersja 1.3 wprowadziła m.in. dynamiczne ładowanie modułów, wsparcie dla Windows NT i Windows 2000[5].
- 2002-2013 – wersja 2.0 to wsparcie wielowątkowości, bardziej elastyczne API dla modułów, a także wsparcie IPv6 i UTF-8 w nazwach plików[6][7][8]. Wydane zostały również nowe moduły między innymi do szyfrowania (mod_ssl) czy do kompresji danych (mod_deflate)[6].
- 2005-2017 – wersja 2.2 dodała m.in. nowe moduły do cachowania, proxy AJP (do serwera Tomcat) i obsługę plików większych niż 2 GB[9][10].
- 2012-teraz – wersja 2.4 zmienia sposób konfiguracji ograniczenia dostępu (stare dyrektywy Deny, Allow należy zastąpić Require)[11]; sekcje If, Else umożliwiają warunkowe konfiguracje na podstawie konkretnego żądania (podobnie jak w poprzednich wersjach za pomocą mod_rewrite); od wersji 2.4.36 wspiera TLS 1.3[12][13].
Trwają prace nad nową wersją oznaczoną roboczo 2.5, ostateczna wersja będzie miała oznaczenie 2.6 lub 3.0[14].
Konfiguracja
Najnowsze wersje serwera Apache posiadają interfejs graficzny GUI. Program Apache parsuje plik konfiguracyjny httpd.conf (oraz inne zdefiniowane przez użytkownika, bądź sam program).
Plik konfiguracyjny dystrybucji Apache z serii 2.0 zawiera sekcje:
Global Environment
- środowisko serwera
- podstawowe parametry sieciowe
- lista dołączanych modułów
Main server configuration
Virtual Hosts
- odwrotny DNS
- lista i konfiguracja ewentualnych hostów wirtualnych obsługiwanych przez maszynę
Niektóre większe moduły (np. mod_SSL) mogą posiadać własne sekcje w pliku httpd.conf bądź oddzielny plik dla własnych ustawień. Aby zmiany dokonane w plikach konfiguracyjnych zostały uwzględnione, konieczne jest zrestartowanie procesu serwera.
Remove ads
Zobacz też
Przypisy
Linki zewnętrzne
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads