Odmłodzony wojownik www

Po dwóch latach prac internetowy serwer Apache doczekał się oficjalnej wersji 2.0.

Po dwóch latach prac internetowy serwer Apache doczekał się oficjalnej wersji 2.0.

Odmłodzony wojownik www

Najpopularniejszy darmowy

Apache Software Foundation udostępniła drugą wersję najpopularniejszego serwera WWW w Internecie - Apache. Według badań Netcraft, obsługuje on ok. 65% wszystkich witryn interne- towych. Nowa wersja Apache jest - zdaniem autorów - ostatecznie dopracowana. Dotychczas zalecali oni korzystanie z wersji 1.3.

Inny dla każdej platformy

Podstawową zmianą jest nowa filozofia obsługi wielu równoczesnych żądań przesyłanych do serwera WWW. Dotychczas serwer wykorzysty- wał architekturę POSIX i np. na platformie Windows musiał emulować ten standard, by w ogóle móc pracować. Inne rozwiązanie zastosowano w Apache 2.0, którego konstrukcję oparto na wymiennych modułach MPM (Multi Processing Modules), mocno związanych z konkretną platformą systemową i w sposób właściwy dla niej obsługujących równoległe wykonywanie programu. Motor Apache Portable Runtime (APR) korzysta z różnych modułów przetwarzania dostępnych w kilku wersjach unixowych, dla BeOS, Novell NetWare i Windows.

Dzięki temu rozwiązaniu ser- wer zyskał znacznie większą skalowalność i może lepiej wykorzystywać architekturę wieloprocesorową. Możliwe stało się też tworzenie niestandardowych, hybrydowych konstrukcji wieloprocesorowych, w których serwer HTTP wykorzystuje wątki i procesy do obsługi równoległych żądań. Dodatkową korzyścią jest zmniejszone zapotrzebowanie na pamięć, niezbędną do obsługi jednego internauty.

Ponadto, jeśli na danej platformie obsługiwany jest protokół IPv6, to APR komunikuje się z klientami z wykorzystaniem tego protokołu.

Modyfikacje API i wprowadzenie filtrów

Zmienił się interfejs programistyczny API Apache. W przypadku Apache 1.3 często rozszerzanie funkcjonalności serwera sprowadzało się do konieczności wprowadzania zmian w samym jego jądrze (rozszerzania jego możliwości o współpracę z zewnętrznymi modułami). W wersji 2.0 rozszerzono liczbę "punktów styku" między Apache a dodatkowymi modułami, co nie wymaga tak częstego modyfikowania jądra.

Moduły Apache mogą obecnie funkcjonować na zasadzie filtra przechwytującego transmisje przesyłane przez serwer. Pozwala to na wstępną, dynamiczną analizę składni żądań przekazywanych przez przeglądarkę kliencką, np. połączenie mechanizmu CGI z dyrektywami SSI (dołączania plików po stronie serwera).

Rozbudowano także moduł obsługi pamięci podręcznej, co pozwala na dosyć precyzyjne dostrojenie serwera (ma on na razie status rozszerzenia eksperymentalnego).

Autoryzacja i bezpieczeństwo

Rozszerzono mechanizmy autoryzacji: rozbudowano moduł odpowiadający za obsługę bazy danych użytkowników i wzbogacono go w specjalny komponent, umożliwiający rozróżnianie użytkowników wg podawanych przez nich adresów e-mail (podobnie jak ma to miejsce przy anonimowym FTP). W ten sposób, bez rozszerzania podstawowej bazy użytkowników, każdy zainteresowany może uzyskać dostęp do zastrzeżonych obszarów witryny. Równocześnie serwer jest w stanie identyfikować internautę i śledzić jego pracę.

Inaczej zorganizowano obsługę SSL. Apache do realizacji bezpiecznych połączeń wykorzystuje mechanizm OpenSSL (moduł mod_ssl jest tak naprawdę interfejsem do OpenSSL, który realizuje kodowanie SSL/TLS). Dotychczas obsługa SSL wymagała zmian w jądrze Apache (istniały wersje serwera z wbudowanym SSL).

Rozszerzono mechanizmy obsługi witryn w wielu językach i dostosowywania przesyłanej zawartości do wymagań przeglądarki. Moduł mod_negotiation potrafi dobrać zawartość na podstawie ustalonych preferencji językowych. Może także odczytać, w jakim formacie graficznym mają być przesyłane pliki. Co więcej, każdy z parametrów przekazywanych przez przeglądarkę może mieć swoje wagi (ustalone przez administratora). Komunikaty o błędach mogą być wyświetlane w różnych językach, co wymaga od administratora tylko opracowania odpowiednich szablonów.

Apache 2.0 w pełni obsługuje także protokół WebDAV (klasy 1 i 2), który umożliwia użytkownikom zdalne zarządzanie zasobami serwera, np. publikowanie nowych plików.

Tajemnica popularności Apacza

Trudno przewidzieć, czy Apache 2.0 powtórzy sukces wcześniejszej wersji. Chociaż wprowadzone zmiany porządkują architekturę i kod serwera, to wersja 2.0 przynosi duże zmiany w API. W efekcie migracja może wymagać dużego nakładu pracy związanego z przystosowaniem licznych dodatkowych modułów do działania w nowym środowisku.

Apache 1.3 doskonale działa na Linuxie, ale na platformie Windows praktycznie nie nadawał się do użytku. I chociaż Apache 2.0 przynosi w tej dziedzinie korzystne zmiany, to wątpliwe jest, czy będzie w stanie zagrozić na tej platformie serwerowi IIS Microsoftu. Poza CGI nie oferuje on bowiem żadnych mechanizmów dynamicznego generowania zawartości. Konkurujący z nim IIS umożliwia korzystanie z COM, ASP oraz ASP.Net.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200