czego chcemy od apache, Ebooki i kursy informatyczne

[ Pobierz całość w formacie PDF ]
1.2 Idea Apache
Nazwa „Apache" ilustruje fakt, iż opatrzony nią program składa się z bloku już
istniejącego kodu i doklejonych do niego „łat"
(patch).
Autorzy dokumentu FAQ [21]
na temat serwera twierdzą, że jest to zabawna gra stów (angielski zwrot „a patch" (łata,
nakładka) brzmi podobnie do „Apache"), ale jest również sporo osób, które uważają to
za głupi dowcip podrywający autorytet programistów. Dlatego też grupa trzeźwiej
myślących fachowców lansuje pogląd, że nazwa Apache pochodzi od nazwy plemienia
północnoamerykańskich Indian, słynnego z waleczności i wytrwałości.
Podkreślmy tutaj, że Apache jest programem niekomercyjnym, stworzonym przez grupę
ochotników, którzy nie pracują nad nim w celach zarobkowych. Grupa ta ma pełną swo-
bodę w akceptowaniu i odrzucaniu sugestii i pomysłów pochodzących „z zewnątrz", tj.
od użytkowników. Ci, którym się to nie podoba, mają praktycznie tylko jedno wyjście -
sformować własną grupę i napisać konkurencyjny program serwera.
Autorem pierwszego serwera WWW [23] był brytyjski fizyk Tim Bemers-Lee,
pracujący wówczas w Europejskim Instytucie Badań Jądrowych (CERN) w Genewie.
Serwer Apache pochodzi w prostej linii od innego serwera WWW, opracowanego przez
rząd Stanów Zjednoczonych, a ściślej jego agendę, Krajowe Centrum Zastosowań
Superkomputerów (NCSA,
National Center for Supercomputing Applications).
Warto
o tym pamiętać i nie mylić tej szacownej instytucji z Narodową Agencją do spraw
Bezpieczeństwa Systemów Komputerowych
(National Computer Security Agency)
ani
Stowarzyszeniem Szkół Stanu Północna Karolina
(North Carolina Schools
Association).
Jako że opracowanie serwera NCSA finansowano z pieniędzy podatników
(amerykańskich), jest on dostępny dla każdego - zainteresowani mogą skopiować kod
źródłowy w języku C z serwera
www.ncsa.uiuc.edu
(warto przy okazji przeczytać
umowÄ™ licencyjnÄ…).
Znalazło się jednak kilka osób, które doszły do wniosku, że mogłoby być lepiej. W
dokumencie FAQ [21] dla serwera Apache czytamy:
„... serwer Apache oparty został na kodzie i rozwiązaniach zastosowanych w najpo-
pularniejszym w owych czasach serwerze HTTP - programie
httpd 1.3
opracowanym
w NCSA w poczÄ…tkach roku 1995".
Warto zwrócić uwagę na zwrot „w owych czasach", które zwykle odnosi się do wieku
XVIII lub w najlepszym przypadku do starych, dobrych czasów
fin-de-siecle'u.
Tym ra-
zem jednak, o zgrozo, autorzy odwołują się do faktów mających miejsce zaledwie parę
lat temu!
Internetowa witryna serwera Apache jest, co prawda otwarta dla wszystkich,
jednak sam serwer tworzony jest przez grupę wybranych, doświadczonych progra-
mistów grupy zwanej Zespołem Apache
(The Apache Group).
Czym właściwie kierują się twórcy Apache? Na dobrą sprawę mogliby przecież
w końcu zbijać majątek na intratnych zleceniach, zamiast ślęczeć po nocach nad kodem,
za który nikt im nie zapłaci i który będą rozdawać za darmo. Nie spodziewajmy się,
że robią to z czystego altruizmu — istnieje, co najmniej kilka innych powodów, i to
całkowicie ludzkiej natury. Oto kilka z nich (kolejność nie ma znaczenia):
• Chęć zajęcia się czymś bardziej interesującym, niż normalna praca zawodowa (czyli
np. pisanie baz danych dla firmy produkujÄ…cej proszki do prania).
• Chęć uczestniczenia w tworzeniu zaawansowanych technologii. Udział w projekcie
takim, jak Apache, jest doskonałą metodą na tzw. „utrzymywanie się na topie"; gdy
projekt zostanie już zamknięty, za chwilę pojawia się kolejny.
• Motywacja finansowa (tak!). Jak być może co niektórzy pamiętają, w okolicach roku
1995 część zespołu opracowującego serwer NCSA odłączyła się i sformowała małą
firemkÄ™ o nazwie Netscape. Po paru latach ci sami ludzie byli miliarderami.
• Dobra zabawa. Tworzenie solidnego oprogramowania jest interesujące, ale może być
również emocjonujące, nie mówiąc już o możliwości spotkania i współpracy z wieloma
interesującymi i mądrymi ludźmi.
• Możliwość uniknięcia tego, czym zajmuje się (i czego serdecznie nienawidzi) wielu
programistów - konieczności tłumaczenia się użytkownikom, dlaczego program nie
działa i desperackich prób przywrócenia go do życia w tempie „na wczoraj". Wsparcie
techniczne dla użytkowników serwera Apache zapewniają liczne firmy, które
oczywiście każą sobie za tę niewdzięczną pracę płacić.
1.3 Budowa Apache
Apache jest tylko serwerem protokołu HTTP. Pierwotnie zaprojektowany dla
systemów operacyjnych rodziny Unix doczekał się przeniesienia m.in. pod BeOS, OS/2,
NetWare, MacOS, a także Windows NT. Rozwijany jako projekt open source,
zbudowany w otwartej, modularnej architekturze, ma interfejs API (Application
Programming Interface) umożliwiający programistom tworzenie własnych modułów.
Wprawdzie jego podstawowa dystrybucja w porównaniu z IIS jest dość skromna, za to
baza dodatkowych modułów obszerna i obejmuje m.in. implementację protokołu SSL,
1
moduły kompresji GZIP zgodnej z HTTP 1.1 oraz moduł mod_bandwidth
umożliwiający zarządzanie pasmem nie tylko dla poszczególnych serwerów
wirtualnych czy katalogów, ale również w zestawieniu z innymi parametrami (możliwe
jest np. tworzenie klas odbiorców pasma na podstawie adresów IP czy domeny,
limitowanie pasma dla plików przekraczających zadaną wielkość czy zarezerwowanie
minimalnego pasma). Z ciekawszych rozszerzeń funkcjonalnych warto z pewnością
wymienić moduł realizujący śledzenie sesji użytkownika w obrębie HTTP poprzez
mechanizm cookies lub odpowiednie dodatki do adresów URL, co zwalnia twórców
witryn od tworzenia tego typu mechanizmów we własnym zakresie, Apache posiada
także moduł proxy rozprowadzany w podstawowej dystrybucji.
Podobnie jak IIS - chociaż nie w samej dystrybucji - Apache ma moduły
umożliwiające interpretowanie programów bez potrzeby tworzenia procesów
potomnych. Obejmują one języki popularne, jak Perl czy PHP, a także te bardziej
"egzotyczne", jak Python czy TCL.
Wyrosły w środowisku unix-owym, apache uruchamiany jest jako zestaw
procesów - pierwotny plus potomne, tworzone w miarę potrzeby. Najnowszy "potomek
plemienia" jest już wielowątkowy i to na wiele sposobów. Apache w środowisku
Windows jest uruchamiany jako proces macierzysty oraz pojedynczy proces potomny,
co pewien czas usuwany i tworzony od nowa.
Zarządzanie serwerem można sprowadzić do edycji tekstowego pliku
konfiguracyjnego oraz restartu serwera. W pakiecie nie jest rozprowadzany żaden
interfejs konfiguracyjny, natomiast przyjazne, graficzne środowisko oferują pakiety
zarządzania serwerami unix-owymi, np. Webmin, Linuxconf czy pakiet będący częścią
środowiska GNOME.
1.4 Jak działa Apache
Odwołując się do adresu jakiejś strony WWW - np. adresu
,
przeglądarka przesyła za pośrednictwem intemetu
komunikat przeznaczony dla systemu dostępnego pod tym adresem. Zakładamy tu
milcząco, że system docelowy jest uruchomiony i połączony z Internetem, oraz
że potrafi odebrać nasz komunikat i odpowiednio nań zareagować.
2
Skrót „URL" pochodzi od angielskiego określenia
Universal Resource Locator (uniwer-
salny identyfikator zasobu).
Identyfikator taki składa się z trzech zasadniczych elemen-
tów:
<metoda>://<adres-hosta>/<bezwzględna-ścieżka-dostępu>
W naszym przykładzie pole metoda zawiera ciąg znaków http, co nakazuje
przeglądarce użycie protokołu HTTP
(HyperText Transfer Protocot); adres - hosta
to
intemetowy adres
zaÅ›
ścieżka-dostępu
składa się
z pojedynczego znaku /, oznaczającego katalog główny systemu docelowego. Jeżeli
przeglądarka wykorzystuje protokół HTTP w wersji 1.1, nasz komunikat, czy też
żądanie
(ang.
request),
wyglądałby następująco:
GET / HTTP/1.1
Host
:
Komunikat taki trafia do portu 80 (domyślnie używanego przez protokół HTTP)
serwera
Podobnie jak poprzednio, komunikat odbierany
przez serwer składa się z trzech elementów. Pierwszym z nich jest identyfikator metody
(tym razem jest to już metoda protokołu HTTP, nie zaś metoda dostępu używana
w adresie URL) - tutaj jest to polecenie GET, zaś pozostałe możliwości to
POST
,
DELETE
i
CONNECT
. Drugim elementem jest tzw.
jednolity identyfikator zasobu
(ang.
Uniform
Resource Identifier, URI),
którym w naszym przypadku jest symbol /. Ostatnim
elementem komunikatu jest nazwa i numer wykorzystywanego protokołu. Tak
sformułowane żądanie jest następnie interpretowane przez serwer WWW. Warto tu
podkreślić, że istota działania serwera WWW sprowadza się do przetłumaczenia
nadesłanego adresu URL na nazwę pliku i przesłanie tego ostatniego Internetem do
nadawcy żądania (klienta). Adres może też zostać zinterpretowany jako nazwa
programu, który należy uruchomić, i którego wyniki również mają wrócić do klienta.
Cała reszta to kosmetyka.Występujący w powyższym scenariuszu system docelowy
może być zarówno zestawem superkomputerów wartych fortunę naftowego magnata,
jak i pojedynczym komputerkiem typu PC. Niezależnie od stopnia komplikacji i ceny
takiego systemu, konieczne jest uruchomienie na nim serwera WWW - programu
odbierającego nadsyłane siecią żądania i odpowiednio je obsługującego.
3
Czego oczekujemy od serwera WWW? Powinien on spełniać następujące postulaty:
• Pracować szybko, co pozwoli mu obsługiwać wiele żądań bez nadmiernego
obciążania komputera, na którym jest uruchomiony.
• Pracować w trybie wielozadaniowym, co pozwoli mu obsługiwać jednocześnie
kilka żądań.
• Pracować w trybie wielozadaniowym, co umożliwi jego administratorowi
przetwarzanie udostępnianych klientom danych bez konieczności
przerywania pracy samego serwera. Realizacja wielozadaniowości na
poziomie aplikacji jest dość trudna; jedynym właściwym podejściem jest
w tym przypadku uruchomienie serwera pod nadzorem wielozadaniowego
systemu operacyjnego. W przypadku serwera Apache systemem takim może
być któraś z odmian Unixa lub systemów pokrewnych, ewentualnie 32-
bitowa odmiana systemu Windows lub OS/2.
• Weryfikować tożsamość klientów - różni klienci są uprawnieni do korzystania
z różnych zasobów i usług. Funkcja ta nabiera krytycznego znaczenia
w przypadku internetowej obsługi transakcji finansowych
• W adekwatny sposób reagować na błędy w odbieranych komunikatach. Jeśli
np. serwer nie jest w stanie odnaleźć strony żądanej przez klienta, powinien
przesłać w odpowiedzi komunikat o błędzie numer 404, który w protokole
HTTP oznacza, że dana strona nie istnieje.
• Uzgadniać z klientem formę i język komunikacji. Oznacza to między innymi
zdolność serwera do porozumiewania się z klientem w języku wybranym
przez tego ostatniego (o ile twórcy i administratorzy witryny są w stanie
podołać takiemu problemowi), co z kolei przyczynia się do wzrostu
atrakcyjności i oglądalności danej witryny. Nie dość tego, w niektórych
rejonach kuli ziemskiej użycie niewłaściwego języka jest niezbyt mile
widziane: widownią konfliktów pomiędzy społecznością angielską
a francuską jest Kanada; w Belgii z kolei dochodzi do tarć pomiędzy częścią
francuskojęzyczną a flamandzką. W takiej sytuacji możliwość wyboru
języka może okazać się ogromnym atutem (a jej brak - gwoździem do
trumny).
• Udostępniać dane w różnorodnych formatach. Użytkownik może np. życzyć
sobie plików graficznych w formacie JPEG, a nie GIF; inny woli
otrzymywać wszystko w plikach TIFF. Ktoś jeszcze inny chciałby, aby
dokumenty były dostępne nie w wersji postscriptowej, ale w formacie
vdi.
• Umożliwiać wykorzystanie w charakterze serwera pośredniczącego (ang.
proxy
server).
Działanie serwera pośredniczącego polega na odbieraniu
komunikatów od klienta i przesyłaniu ich do właściwego serwera, jak
również odbieraniu danych przesyłanych przez serwer i przekazywaniu ich
4
[ Pobierz całość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • cocksparrer.xlx.pl
  • Strona Główna
  • doktryna-jakosci.-rzecz-o-skutecznym-zarzadzaniu-(twarda-oprawa) full scan, Zlotemysli.pl - TYLKO FULL WERSJE!, ebooki
  • delphi-6.-vademecum-profesjonalisty.-tom-2 full scan, Zlotemysli.pl - TYLKO FULL WERSJE!, ebooki
  • easy-cd-creator.-nagrywanie-plyt-cd.-cwiczenia-praktyczne full version, moje ebooki
  • dr George K. Simon Jr. wilk w owczej skórze. jak zdemaskować przeciwnika i skutecznie bronić siÄ™ przed manipulacjÄ… caÅ‚a książka, ebooki` -2271 plików
  • cyfrowa fotografia Å›lubna. warsztaty fotograficzne scan, ebooki
  • ebooks mega list epub, Ebooki-megazestaw-EPUB
  • css.-gotowe-rozwiazania full version, Zlotemysli.pl - TYLKO FULL WERSJE!, ebooki
  • de La Fontaine Jean - Bajki, Gry ANDROID, ebooki tablet kids, bajki dla dzieci (tekst)
  • dr Preeti Agrawal - Zdrowie nastolatki, UZDRAWIANIE, eBooki
  • e-book Tajemniczy swiat energii(1), ► E-BOOK
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • loko1482.xlx.pl