mod_perl. Podr臋cznik programisty - Helion
Tytu艂 orygina艂u: mod_perl Developers Cookbook
T艂umaczenie: Przemys艂aw Kowalczyk
ISBN: 83-7197-799-9
stron: 564, Format: B5, ok艂adka: mi臋kka
Data wydania: 2003-01-30
Ksi臋garnia: Helion
Cena ksi膮偶ki: 69,00 z艂
By膰 mo偶e Perl jest najlepszym j臋zykiem s艂u偶膮cym do pisania skrypt贸w CGI, ale skrypty CGI nie s膮 najlepszym sposobem tworzenia aplikacji internetowych. Potrzeba wi臋kszej wydajno艣ci, lepszej integracji z serwerem WWW i pe艂niejszego wykorzystania jego mo偶liwo艣ci doprowadzi艂a do stworzenia modu艂u mod_perl. Pozwala on na pisanie modu艂贸w serwera Apache w Perlu i na pe艂ny dost臋p do funkcji API Apache"a z poziomu Perla.
mod_perl jest bardzo rozbudowany, dzi臋ki czemu daje programi艣cie ogromne mo偶liwo艣ci. Ksi膮偶ka "mod_perl. Podr臋cznik programisty" b臋dzie nieocenion膮 pomoc膮 w poznawaniu jego potencja艂u. Nauczysz si臋 z niej podstaw mod_perla, a gdy ju偶 je opanujesz, poznasz tajniki pisania du偶ych i skomplikowanych aplikacji.
W ksi膮偶ce opisano mi臋dzy innymi:
- Instalacj臋 i konfiguracj臋 mod_perla
- Komunikacj臋 mod_perla z Apache
- Dzia艂ania na adresach URL
- Obs艂ug臋 plik贸w w 艣rodowisku mod_perla
- Tworzenie w艂asnych aplikacji w oparciu o mod_perla
- Osi膮gania maksymalnej wydajno艣ci aplikacji u偶ywaj膮cych mod_perla
- Dodatkowe modu艂y wsp贸艂pracuj膮ce z mod_perlem
Osoby kt贸re kupowa艂y "mod_perl. Podr臋cznik programisty", wybiera艂y tak偶e:
- Apache 2. Leksykon kieszonkowy 24,46 z艂, (13,70 z艂 -44%)
- Apache. Receptury. Wydanie II 49,00 z艂, (36,75 z艂 -25%)
- Streaming Architecture. New Designs Using Apache Kafka and MapR Streams 94,99 z艂, (80,74 z艂 -15%)
- Apache Sqoop Cookbook 54,99 z艂, (46,74 z艂 -15%)
- Learning Spark. 2nd Edition 246,10 z艂, (211,65 z艂 -14%)
Spis tre艣ci
mod_perl. Podr臋cznik programisty -- spis tre艣ci
Podzi臋kowania (9)
O Autorach (12)
Przedmowa (13)
Wprowadzenie (15)
Cz臋艣膰 I Instalacja i konfiguracja (19)
Rozdzia艂 1. Instalacja modu艂u mod_perl (21)
- Wprowadzenie (21)
- 1.1. Dystrybucja binarna dla Uniksa (22)
- 1.2. Instalacja w systemie Windows (25)
- 1.3. Instalacja w systemie Mac OS X (27)
- 1.4. Kompilacja w systemie Unix (27)
- 1.5. Kompilacja w systemie Windows (31)
- 1.6. Kompilacja w systemie Mac OS X (35)
- 1.7. Kompilacja modu艂u mod_perl jako biblioteki dzielonej (37)
- 1.8. Testowanie instalacji (38)
- 1.9. Zmiana katalog贸w instalacji serwera Apache (39)
- 1.10. Dodawanie modu艂u mod_perl do dzia艂aj膮cego serwera Apache (40)
- 1.11. Ponowne u偶ycie opcji kompilacji (40)
- 1.12. Odtwarzanie instalacji modu艂u mod_perl (41)
- 1.13. Instalacja modu艂u mod_perl na wielu komputerach (42)
- 1.14. Sprawdzanie istniej膮cego serwera (45)
- 1.15. Instalacja modu艂贸w serwera Apache z archiwum CPAN (46)
- 1.16. 艢ledzenie rozwoju modu艂u mod_perl (47)
- 1.17. Wi臋cej ni偶 dost臋p przez CVS (48)
- 1.18. Kompilacja modu艂u mod_perl przy u偶yciu innej wersji Perla (50)
Rozdzia艂 2. Konfigurowanie modu艂u mod_perl (53)
- Wprowadzenie (53)
- 2.1. Przenoszenie skrypt贸w CGI (53)
- 2.2. Modu艂 Apache::Registry (55)
- 2.3. Skrypt startup.pl (58)
- 2.4. Dzielenie przestrzeni nazw w 艣rodowisku Apache::Registry (61)
- 2.5. Wczesne 艂adowanie skrypt贸w w 艣rodowisku Apache::Registry (62)
- 2.6. Ustawianie zmiennych 艣rodowiskowych CGI (63)
- 2.7. Ustawianie innych zmiennych 艣rodowiskowych (64)
- 2.8. Ustawianie opcji interpretera Perla (65)
- 2.9. Bloki BEGIN i END w skrypcie startup.pl (66)
- 2.10. Zarz膮dzanie w艂asnymi bibliotekami (67)
- 2.11. Trwa艂e po艂膮czenia z baz膮 danych (69)
- 2.12. Wcze艣niejsze nawi膮zywanie po艂膮cze艅 (70)
- 2.13. Nietrwa艂e po艂膮czenia do bazy danych w 艣rodowisku Apache::DBI (72)
- 2.14. Ustawianie zmiennych specyficznych dla modu艂u mod_perl (73)
- 2.15. Ustawianie bardziej skomplikowanych zmiennych (74)
- 2.16. Dynamiczna konfiguracja serwera Apache (75)
- 2.17. Zachowywanie kolejno艣ci w sekcjach <Perl> (77)
- 2.18. U偶ywanie opcji w wierszu polece艅 (78)
- 2.19. Uruchamianie podw贸jnego serwera (79)
- 2.20. U偶ywanie modu艂u mod_proxy do przekazywania 偶膮da艅 do serwera Apache z modu艂em mod_perl (80)
- 2.21. U偶ywanie modu艂u mod_proxy_add_forward (80)
Cz臋艣膰 II Interfejs API modu艂u mod_perl (83)
Rozdzia艂 3. Obiekt 偶膮dania (87)
- Wprowadzenie (87)
- 3.1. Obiekt 偶膮dania (87)
- 3.2. Komunikat 偶膮dania HTTP (89)
- 3.3. 呕膮danie klienta (91)
- 3.4. Dost臋p do nag艂贸wk贸w 偶膮dania (92)
- 3.5. Dost臋p do p贸l formularzy HTML (95)
- 3.6. Dane wys艂ane metod膮 POST (97)
- 3.7. Obs艂uga cookies (98)
- 3.8. Obs艂uga plik贸w wysy艂anych na serwer (100)
- 3.9. Ustawianie nag艂贸wk贸w odpowiedzi serwera (103)
- 3.10. Sterowanie pami臋ci膮 podr臋czn膮 (105)
- 3.11. Wysy艂anie nag艂贸wk贸w odpowiedzi serwera (106)
- 3.12. Ustawianie statusu odpowiedzi (108)
- 3.13. Ustawianie nag艂贸wk贸w w przypadku b艂臋du (111)
- 3.14. Nag艂贸wki o wielu warto艣ciach (113)
- 3.15. 呕膮dania wewn臋trzne (115)
- 3.16. Ustawianie nag艂贸wk贸w 偶膮dania wewn臋trznego (117)
- 3.17. Rozpoznawanie 偶膮da艅 wewn臋trznych (118)
- 3.18. Metoda HTTP 偶膮dania (118)
- 3.19. Dost臋p do obiektu 偶膮dania z podprogramu XS (120)
Rozdzia艂 4. Komunikacja z serwerem Apache (127)
- Wprowadzenie (127)
- 4.1. Obiekt Apache::Server (127)
- 4.2. Symulowanie dyrektyw IfModule i IfDefine (130)
- 4.3. Dost臋p do dyrektyw ServerRoot i DocumentRoot (132)
- 4.4. Zapis do dziennika b艂臋d贸w (134)
- 4.5. Dost臋p do dyrektywy ErrorLog (136)
- 4.6. Warto艣膰 LogLevel (138)
- 4.7. Obiekt Apache::Connection (140)
- 4.8. Zdalne adresy IP i nazwy serwer贸w (141)
- 4.9. Wykrywanie zerwania po艂膮czenia (143)
- 4.10. Zamykanie procesu potomnego serwera Apache (145)
Rozdzia艂 5. Przetwarzanie adres贸w URI (149)
- Wprowadzenie (149)
- 5.1. 呕膮dany adres URI (150)
- 5.2. Okre艣lanie dyrektywy <Location> dla adresu URI (152)
- 5.3. Zmiana 偶膮danego adresu URI (155)
- 5.4. Konstruowanie nowego adresu URI (157)
- 5.5. Kodowanie znak贸w specjalnych w adresie URI (159)
- 5.6. Wymuszenie typu MIME za pomoc膮 adresu URI (161)
- 5.7. Pobieranie zawarto艣ci 偶膮dania wewn臋trznego (162)
- 5.8. U偶ycie klasy Apache::Util poza 艣rodowiskiem modu艂u mod_perl (166)
Rozdzia艂 6. Obs艂uga plik贸w (169)
- Wprowadzenie (169)
- 6.1. Tworzenie uchwyt贸w plik贸w (170)
- 6.2. Tworzenie plik贸w tymczasowych (172)
- 6.3. Wysy艂anie ca艂ego pliku (173)
- 6.4. Wczytywanie zawarto艣ci plik贸w do zmiennych (176)
- 6.5. Pobieranie informacji o 偶膮danym pliku (176)
- 6.6. Nag艂贸wki warunkowe (180)
- 6.7. 呕膮dania fragment贸w plik贸w (183)
- 6.8. Nag艂贸wki zwi膮zane z datami (187)
- 6.9. Opr贸偶nianie bufor贸w wyj艣ciowych (188)
- 6.10. Przekierowanie uchwyt贸w plik贸w wyj艣ciowych (190)
Rozdzia艂 7. Tworzenie program贸w obs艂ugi (193)
- Wprowadzenie (193)
- 7.1. Tworzenie programu obs艂ugi (194)
- 7.2. Konfiguracja program贸w obs艂ugi (197)
- 7.3. Dodawanie niewielkich program贸w obs艂ugi (199)
- 7.4. Przygotowanie modu艂u do publikacji (201)
- 7.5. Tworzenie archiwum programu TAR (202)
- 7.6. Tworzenie binarnej dystrybucji PPM (204)
- 7.7. Testowanie modu艂u (207)
- 7.8. W艂asne dyrektywy konfiguracyjne (214)
- 7.9. Rozszerzanie prototyp贸w w艂asnych dyrektyw (223)
- 7.10. 艁膮czenie w艂asnych dyrektyw (225)
- 7.11. Zast臋powanie dyrektyw rdzeniowych (231)
- 7.12. Dodawanie znacznik贸w serwera (236)
- 7.13. Publikowanie modu艂u w archiwum CPAN (237)
Rozdzia艂 8. Wsp贸艂praca z programami obs艂ugi (239)
- Wprowadzenie (239)
- 8.1. Wykrywanie zmian program贸w obs艂ugi (239)
- 8.2. Dzielenie danych wewn膮trz procesu potomnego (241)
- 8.3. Tworzenie dzielonego bufora (244)
- 8.4. Zachowywanie stanu (247)
- 8.5. Wewn臋trzne przekierowania (251)
- 8.6. Tworzenie w艂asnych stron o b艂臋dach (254)
- 8.7. Przywracanie domy艣lnych stron o b艂臋dach (257)
- 8.8. 艁a艅cuchy program贸w obs艂ugi (259)
- 8.9. 艁a艅cuchy program贸w obs艂ugi w j臋zyku C (261)
- 8.10. Dost臋p do zmiennych 艣rodowiskowych (264)
- 8.11. Dzielenie danych mi臋dzy fazami (265)
- 8.12. Okre艣lanie aktualnej fazy 偶膮dania (268)
- 8.13. Dane konfiguracyjne modu艂u Perla (269)
- 8.14. Dane konfiguracyjne modu艂u j臋zyka C (270)
Rozdzia艂 9. Dostrajanie serwera Apache i modu艂u mod_perl (275)
- Wprowadzenie (275)
- 9.1. Zbieranie podstawowych informacji o serwerze (277)
- 9.2. Tworzenie raportu zu偶ycia pami臋ci (281)
- 9.3. Zu偶ycie pami臋ci przez procesy serwera Apache (283)
- 9.4. Bardziej szczeg贸艂owe informacje o zu偶yciu pami臋ci przez procesy serwera (284)
- 9.5. Zu偶ycie pami臋ci przez modu艂y Perla (286)
- 9.6. Redukcja narzutu przy imporcie modu艂贸w (288)
- 9.7. Zmniejszanie ca艂kowitego zu偶ycia pami臋ci (289)
- 9.8. Zwi臋kszanie obszaru pami臋ci dzielonej (291)
- 9.9. Regulacja liczby proces贸w potomnych (293)
- 9.10. Ograniczanie wzrostu zu偶ycia pami臋ci przez procesy (294)
- 9.11. Zamykanie niekontrolowanych proces贸w (296)
- 9.12. Profilowanie program贸w obs艂ugi (298)
- 9.13. Znajdowanie w膮skich garde艂 wydajno艣ci (299)
- 9.14. Dostrajanie wydajno艣ci serwera (301)
- 9.15. Serwer Apache jako serwer proxy (305)
- 9.16. U偶ywanie programu uruchomieniowego Perla z modu艂em mod_perl (308)
- 9.17. Wyszukiwanie b艂臋d贸w w skryptach Apache::Registry (310)
- 9.18. Redukcja narzutu uruchomieniowego (311)
- 9.19. Wyszukiwanie b艂臋d贸w przy naruszeniach segmentacji (313)
Rozdzia艂 10. Programowanie obiektowe przy u偶yciu modu艂u mod_perl (315)
- Wprowadzenie (315)
- 10.1. Tworzenie klas i obiekt贸w (316)
- 10.2. Dziedziczenie metod (318)
- 10.3. Tworzenie obiektowych program贸w obs艂ugi (321)
- 10.4. U偶ywanie obiektowych program贸w obs艂ugi (323)
- 10.5. Dziedziczenie po klasie Apache (326)
- 10.6. Dziedziczenie po klasie Apache przy u偶yciu modu艂贸w XS (328)
- 10.7. Dziedziczenie po klasie Apache::Registry (330)
- 10.8. Dziedziczenie po klasie Apache::Request (333)
Cz臋艣膰 III Oprogramowywanie cyklu 偶yciowego serwera Apache (339)
Rozdzia艂 11. PerlInitHandler (345)
- Wprowadzenie (345)
- 11.1. Przetwarzanie ka偶dego 偶膮dania (346)
- 11.2. Przetwarzanie ka偶dego 偶膮dania w danej dyrektywie zbiorczej (347)
- 11.3. Mierzenie czasu 偶膮dania (348)
- 11.4. Przerywanie cyklu obs艂ugi 偶膮dania (350)
Rozdzia艂 12. PerlTransHandler (353)
- Wprowadzenie (353)
- 12.1. 呕膮dania pliku favicon.ico (354)
- 12.2. Rozpoznawanie serwer贸w wirtualnych w 偶膮daniach (355)
- 12.3. Identyfikatory sesji w adresach URL (358)
- 12.4. Wsp贸艂dzielenie dyrektywy DocumentRoot (360)
- 12.5. Sterowanie wbudowanym serwerem proxy (362)
- 12.6. Redukcja wywo艂a艅 funkcji stat() (364)
Rozdzia艂 13. PerlAccessHandler, PerlAuthenHandler i PerlAuthzHandler (371)
- Wprowadzenie (371)
- 13.1. Prosta kontrola dost臋pu (372)
- 13.2. Ograniczanie dost臋pu "chciwym" klientom (375)
- 13.3. Identyfikacja podstawowa (376)
- 13.4. Ustawianie danych u偶ytkownika (379)
- 13.5. Warunkowa identyfikacja (381)
- 13.6. Autoryzacja u偶ytkownika (383)
- 13.7. Tworzenie w艂asnego mechanizmu autoryzacji (386)
- 13.8. Identyfikacja przy u偶yciu funkcji skr贸tu (392)
Rozdzia艂 14. PerlTypeHandler i PerlFixupHandler (401)
- Wprowadzenie (401)
- 14.1. Przywracanie domy艣lnego programu obs艂ugi generowania zawarto艣ci (402)
- 14.2. Wyb贸r programu obs艂ugi na podstawie rozszerzenia nazwy pliku (404)
- 14.3. Zmiana typu MIME i programu obs艂ugi (409)
- 14.4. Zmiana domy艣lnych typ贸w MIME (413)
- 14.5. W艂asny mechanizm buforuj膮cy (414)
Rozdzia艂 15. PerlHandler (421)
- Wprowadzenie (421)
- 15.1. Podstawowy PerlHandler (422)
- 15.2. Zarz膮dzanie wieloma programami obs艂ugi typu PerlHandler (425)
- 15.3. Wysy艂anie poczty (427)
- 15.4. Filtrowanie generowanej zawarto艣ci (431)
- 15.5. Zapobieganie atakom skryptowym (435)
- 15.6. Modu艂 Text::Template (439)
- 15.7. Modu艂 HTML::Template (443)
- 15.8. Modu艂 Apache::ASP (445)
- 15.9. Pakiet Template Toolkit (450)
- 15.10. Modu艂 HTML::Embperl (454)
- 15.11. Modu艂 HTML::Mason (458)
- 15.12. Generowanie dokument贸w XML (461)
- 15.13. Generowanie og贸lnych dokument贸w XML (464)
- 15.14. Dokumenty XML i arkusze XSLT (467)
- 15.15. Pakiet AxKit (470)
- 15.16. Tworzenie serwera SOAP (472)
Rozdzia艂 16. PerlLogHandler i PerlCleanupHandler (481)
- Wprowadzenie (481)
- 16.1. Dziennik w bazie danych (482)
- 16.2. Dziennik w zwyk艂ym pliku (485)
- 16.3. Zmiana wiersza 偶膮dania (488)
- 16.4. Zapisywanie niestandardowych informacji (489)
- 16.5. Rejestrowanie warunkowe (490)
- 16.6. Przechwytywanie b艂臋d贸w (491)
Rozdzia艂 17. PerlChildInitHandler, PerlChildExitHandler, PerlRestartHandler i PerlDispatchHandler (499)
- Wprowadzenie (499)
- 17.1. Konfiguracja kodu poza obs艂ug膮 偶膮dania (501)
- 17.2. Uruchamianie kodu podczas restartu serwera (503)
- 17.3. Jednokrotne 艂adowanie konfiguracji (504)
- 17.4. Prze艂adowywanie skrypt贸w Registry w procesie nadrz臋dnym (506)
- 17.5. Identyfikacja proces贸w potomnych (507)
- 17.6. Wczesne 艂膮czenie ze 藕r贸d艂em danych (509)
- 17.7. 艢ledzenie u偶ycia modu艂贸w Perla (511)
- 17.8. Zast臋powanie program贸w obs艂ugi (512)
Dodatki (517)
Dodatek A Dost臋pne punkty zaczepienia i opcje kompilacji modu艂u mod_perl (519)
- Punkty zaczepienia modu艂u mod_perl (519)
- Opcje kompilacji modu艂u mod_perl (523)
Dodatek B Dost臋pne sta艂e (531)
- Warto艣ci zwracane przez programy obs艂ugi (531)
- Sta艂e okre艣lone przez protok贸艂 HTTP (531)
- Sta艂e u偶ywane przez programy obs艂ugi dyrektyw (533)
- Sta艂e steruj膮ce zapisem w dzienniku (536)
- Sta艂e serwera (536)
Dodatek C Zasoby zwi膮zane z modu艂em mod_perl (537)
- Zasoby sieciowe (537)
- Ksi膮偶ki (540)
Skorowidz (543)