Czym jest Apache HTTP serwer?

Apache jest najbardziej popularnym na świecie, open sourcowym serwerem webowym.
Obecnie używa go połowa aktywnych stron internetowych na całym świecie. Jest częścią bardzo popularnego pakietu oprogramowania służącego do rozwijania aplikacji webowych zwanego LAMP.

Apache HTTP serwer jest programem który pracuje w tle. Jego głównym zadaniem jest komunikacja poprzez sieć używając protokołu TCP/IP. Przy uruchumieniu jego zachowanie jest ustawiane poprzez pliki konfiguracjyne. W stanie bezczynności słucha on adresów IP które ma podane w pliku httpd.conf. W wypadku gdy na którychś z nich przyjdzie zapytanie, analizuje znajdujące się w nim nagłówki i podąża za wytycznymi odpowiadającymi tym nagłówkom znajdującym się w pliku konfiguracyjnym. Dla zapytań statycznych (w formie URL) "tłumaczy" on to zapytanie na odpowiedni plik znajdujący się na jego dysku lokalnym i wysyła go przez internet klientowi użytkownika (zazwyczaj przeglądarce internetowej). W przypadku zapytania dynamicznego uruchamia odpowiedni program z przesłanymi informacjami i po jego wykonaniu wysyła output tego programu do jednostki która to zapytanie wysłała. Jeśli w jakimś przypadku serwer nie będzie w stanie przerobić zapytania użytkownika to wyśle mu odpowiedni komunikat błędu.

Zalety Apache HTTP server

FUNKCJONALNOŚĆ

Apache HTTP serwer jest jednym z najbardziej funkcjonalnych serwerów HTTP. Jego podstawowa funkcjonalność jest ograniczona, ale duża ilość instalowalnych modułów sprawia że jest jednym z najbardziej funkcjonalnych serwerów HTTP.

KOMPATYBILNOŚĆ

Windows, Linux czy MacOS X: Apache HTTP serwer jest kompatybilny z wszystkimi popularnymi systemami operacyjnmi oraz tymni mniej popularnymi jak NetWare czy OpenVMS.

PEWNOŚĆ

Apache HTTP serwer jest jednym z najdłużej istniejących i najpewniejszych serwerów webowych. Istnieje od 1995 roku i jest aktywnie i regularnie utrzymywany. Ostatnia aktualizacja wersji stabilnej pojawiła się 14 grudnia 2015

Możliwości Apache HTTP serwera

Pomimo prostej funkcjonalności podstawowej, serwer Apachea wspiera wiele funkcjonalności w postaci skompilowanych modułów które poszerzają jego podstawowe możliwości. Od wsparcia dla języków programowania po stronie serwera do schematów uwierzytelniających. Oto niektóre z jego funkcjonalności:

  • Ładowalne Dynamiczne Moduły: Możliwość instalowania modułów które poszerzają podstawowe możliwości Apache Http Serwer. Posiadanie zainstalowanych tylko narzędzi których się używa pozwalają serwerowi działać szybko i wydajnie.
  • Moduł mod_dbd: Dodatkowy moduł który umożliwia zarządzanie bazami danych typu SQL.
  • IPv6: Serwer Apacha posiada wsparcie dla protokołu IPv6.
  • Generic expression parser: Rozwiązanie umożliwiające analizę wyrażeń regularnych.
  • Wysoka skalowalność: Dzieki wieloletniemu doskonaleniu serwer Apacha jest w stanie wspierać nawet do 10000 równoczesnych połączeń.
  • Moduł mod_status: Moduł umożliwiający śledzenie w czasie rzeczywistym wydajności serwera oraz jego statusu.
  • Kontrola ograniczeń: Serwer oferuje możliwość ograniczenia wielu zmiennych: ilości równoczesnych połączeń czy tempa procesowania zapytań.
  • Moduł mod_ssl: Wsparcie dla technologii Secure Socket Layer oraz Transport Layer Security.
  • Autentyfikacja użytkownika: Apache HTTP serwer oferuje wiele modułów do autoryzowania użytkownika, do popularnych należą: mod_access, mod_auth, mod_digest oraz mod_auth_digest.
  • Otwarte oprogramowanie: Każdy ma dostęp do kodu źródłowego. Jeśli Apache HTTP serwer nie ma jakiejś funkcjonalności nic nie powstrzymuje Ciebie od stworzenia modułu który mu ją doda.
  • Konfigurowalne logi: Moduły mod_log_config, mod_log_forensic, mod_logio oraz mod_cgi w wielu aspektach pozwalają na przystosowanie logów pod Twoje wymogi.

Przydatne linki